1.以下叙述中正确的是( )。
A:用C程序实现的算法可以既没有输入也没有输出 B:用C程序实现的算法必须要有输入和输出操作 C:用C程序实现的算法可以没有输入但必须要有输出 D:用C程序实现的算法可以没有输出但必须要输入
答案:AI参考:选项C:“用C程序实现的算法可以没有输入但必须要有输出”是正确的。\n\n一个算法应该具有以下五个重要的特性:\n\n1. 有穷性:算法必须能在有限时间内终止。\n2. 确定性:算法的每个步骤都具有确定的意义,不能有任何二义性。\n3. 输入:算法可以接受一个或多个输入量。\n4. 输出:算法必须产生一个或多个输出,以反映输入的结果。\n5. 有效性:算法执行后能得到正确的结果。\n\n根据这些特性,一个用C语言编写的算法,如果没有输入,那么它就不符合“输入”这个特性,但是它必须具有输出,因为这是算法有效性的体现。所以选项C是正确的。而选项A、B、D都存在不符合这些特性的情况。'
2.以下选择中合法的c语言字符常量是( )

答案:"AI参考:在C语言中,合法的字符常量是由单引号括起来的单个字符。因此,合法的字符常量只能是单个的英文字母、数字或特殊字符(例如:a、b、c、A、B、$等)。 所以,以下选项中合法的C语言字符常量是: A. 123 B. abc C. Hello D. € 正确选项是D,因为选项A、B和C都不是单个的字符,而是一个字符串。而选项D是一个单个的字符,即欧元符号(€)。"
3.10如果X是整型变量,则合法的形式是( )
A:*x B:& (x+5) C:&*x D:*&x
答案:AI参考:正确选项为D:*&x。\n\n解释:在C语言中,指针变量名前可以加上一个星号(*),表示这是一个指针变量。而&符号是取地址运算符,用于获取变量的内存地址。因此,选项D中的"&*x"表示获取变量x的内存地址,并将该地址赋值给一个指针变量。而选项A中的"*x"表示获取变量x的值,而不是指针变量。选项B和C中的表达式不符合语法规则。因此,选项D是合法的形式。'
4.C语言中,字符串以‘\0’为结束标志。( )
A:错 B:对
答案:对
5.C编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等?( )
A:错 B:对
答案:对
6.编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程对吗?( )
A:对 B:错
答案:对
7.二维及多维数组在定义的同时给数组赋初值时,可以省略数组的各维长度。( )
A:错 B:对
答案:错
8.C语言中,数组元素在内存中是顺序存放的,它们的地址是连续的。( )
A:对 B:错
答案:对
9.有如下程序main( ){ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是( )。
A:876 B:987 C:9876 D:8765
答案:876
10.若有定义:int (*p)[4]; 则标识符p( )
A:是一个指针,它指向一个含有四个整型元素的一维数组 B:定义不合法 C:是一个指向整型变量的指针 D:是一个指针数组名
答案:是一个指针,它指向一个含有四个整型元素的一维数组
11.若有说明和语句:int a=5;a++;此处表达式a++的值是( )。
A:5 B:4 C:7 D:6

12.变量的指针,其含义是指该变量的( )
A:名 B:地址 C:一个标志 D:值 13.下面程序段:char a[ ]= ”language” , *p ;p=a ;while (*p!= ’u’) { printf( “%c”,*p-32); p++ ; } 运行结果是( )
A:language B:langUAGE C:LANGUAGE D:LANG 14.计算机内部运算使用的数是( )。
A:八进制数 B:十进制数 C:十六进制数 D:二进制数 15.设有以下说明语句: typedef struct stu { int a; float b; } stutype; 则下面叙述中错误的是( )。
A:struct 是结构类型的关键字 B:a 和 b 都是结构成员名 C:struct stu 是用户定义的结构类型 D:stutype 是用户定义的结构体变量名 16.程序运行#include <stdio.h>#include <string.h>main(){char a[10]=”abcd”; printf(“%d,%d\n”,strlen(a),sizeof(a));} 输出结果是( )
A:10,10 B:4,10 C:7,4 D:8,8 17.执行下面程序后, #include <stdio.h> void main( ) { int x=41,y=1; if (x%3==0 && x%7==0) { y+=x;printf("y=%d\n",y);} else {y=x;printf("y=%d",y);} } 运行结果是( )
A:y=42 B:y=41 C:y=1 D:y=43 18.假设所有变量均为整型,则表达式(a=10,b=20,b++,a+++b)的值是( )。
A:30 B:21 C:20 D:31 19.以下有4个用户标识符,其中合法的一个是 ( )。
A:4d B:for C:f2_G3 D:short 20.下列关于指针概念的描述中,错误的是( )。
A:指针是变量,它也具有一个内存地址值 B:指针中存放的是某变量或对象的地址值 C:指针的值是可以改变的 D:指针的类型是它所存放的数值的类型 21.如下程序#include <stdio.h> main () {float fun(float x[]) ; float ave,a[3]={4.5 ,2,4} ; ave=fun (a); printf( “ave=%7.2f ”,ave); } float fun (float x[] ) {int j; float aver=1 ;for (j=0;j<3;j++) aver=x[j]*aver; return (aver );} 运行结果为( )
A:36 B:18 C:36.00 D:27.00 22.在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是( )
A:%c B:%s C:%ld D:%lf 23.已知:union { int i ; char c; float a;}test; 则 sizeof(test)的值是 ( )。
A:4 B:6 C:5 D:7 24.对语句int a[10]={6,7,8,9,10};说法正确的是( )。
A:将5个初值依次赋给a[6]至a[10] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[1]至a[5] D:因为数组长度与初值的个数不相同,所以此语句错误 25.在下列选项中,不正确的赋值语句是( )。
A:a=b+c=1; B:k=i==j; C:++t; D:n1=(n2=(n3=0)); 26.执行程序段n=2;while(n==1) n--; printf ("%d",n);的输出结果为( )。
A:1 B:-1 C:2 D:0 27.运行下列程序main(){int a[]={1,2,3,4,5},i;for(i=1;i<5;i++) printf("%d",a[i]-a[i-1]);} 输出结果是( )
A:11111 B:222 C:1111 D:111 28.运行下面程序时,从键盘输入"12,34,9<CR>", #include <stdio.h> void main( ) { int x,y,z; scanf("%d,%d,%d",&x,&y,&z); if (x<y) if (y<z)printf("%d\n",z); else printf("%d\n",y); else if (x<z)printf("%d\n",z); else printf("%d\n",x); } 则输出结果是( )
A:9 B:34 C:12 D:不确定的值 29.下列程序#include <stdio.h> main() {int **k,*a,b=100;a= k=printf( “%d\n”,**k);} 输出结果是( )。
A:运行出错 B:b 的地址 C:100 D:a 的地址 30.指针变量是把内存中另一个数据的( )作为其值的变量。
A:地址 B:内容 31.下列各项中,不是C语言的特点是( )
A:有较强的网络操作功能 B:数据类型丰富,可移植性好 C:能实现汇编语言的大部分功能 D:语言简洁、紧凑,使用方便 32.若有以下定义,inta,b,*p;float C, *q; 则赋值正确的是( )
A:q=new int B:p=&c C:p=NULL D:q=p 33.1 void main() 2 { 3 float a[3]={1}; 4 int i; 5 scanf(“%d”,&a);6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(“a[0]=%d\n”,a[0]);8 } 上面程序中有错误的行(每行程序前面的数字表示行号)是( )。
A:6 B:3 C:7 D:5 34.以下选项中,正确的C语言整型常量是( )。
A:-1.00 B:567 C:32L D:510000 35.对以下程序,sub (char x,char y){int z;z=x%y;return z;}void main(){ int g=5,h=3,k; K=sub(g,h);printf(“%d\n”,k)} 正确的说法是( )
A:实参与其对应的形参类型不一致,程序不能运行 B:主函数中去我少对被调用函数的说明,程序不能运行 C:程序中没有错误,可以正常运行 D:被调函数缺少数据类型说明,程序不能运行 36.下面函数调用语句func((exp1,exp2),(exp3,exp4,exp5)); 含有实参的个数为( )
A:4 B:2 C:1 D:5 37.下列关于C语言程序在结构上特点的描述中,错误的是( )
A:C语言程序可以由一个或多个文件组成 B:C语言程序是一个函数串 C:C语言程序被执行时,通常是从第1个函数开始 D:C语言程序的诸多函数中,只能有一个主函数 38.以下选项中,与k=n++完全等价的表达式是( )。
A:k=++n B:k+=n+1 C:k=n,n=n+1 D:n=n+1,k=n 39.用C语言编写的代码程序( )。
A:经过编译即可执行 B:可立即执行 C:经过编译解释即可执行 D:是一个源程序 40.若已定义char s[10] ;则在下面表达式中不表示s[1] 的地址是( )
A:s++ B:&s[1] C:&s[0]+1 D:s+1 41.如下程序#include <stdio.h> f(int b[],int n) {int i,r; r=1; for (i=0;i<=n;i++) r=r*b[i]; return (r); } main() {int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3); printf( “%d\n”,x); } 运行结果为:( )
A:24 B:12 C:45 D:12.00 42.下列对C语言特点的描述中,错误的是( )。
A:C语言功能较强 B:C语言不是结构化程序设计语言 C:C语言编程简洁明了 D:C语言移植性好 43.已有定义int k=2;int *ptr1,*ptr2; 且ptr1 和ptr2 均已指向变量k,下面不能正确执行的赋值语句是( )
A:ptr1=ptr2 B:k=*ptr1*(*ptr2) C:ptr2=k D:k=*ptr1+*ptr2 44.在程序段int k=0;while(k=1)k++;中,while循环执行的次数是( )。
A:无限次 B:一次也不执行 C:有语法错,不能执行 D:执行1次 45.C语言提供的合法的关键字是( )。
A:default B:Switch C:cher D:Case

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(9) dxwkbang
返回
顶部