1.C语言源程序文件是后缀为( 未填 )的文件。 错误 正确答案:A
A. .c
B. .exe
C. .obj
D. .bat
2.C语言中主函数的个数是( 未填 )。 错误 正确答案:D
A. 2个
B. 任意个
C.10个
D. 1个
3.定义指针变量时,需要在指针变量名前加上( 未填 ) 错误 正确答案:C
A.!
B.@
C.*
D.&
4.变量的指针,其含义是指该变量的( 未填 ) 错误 正确答案:B
A.值
B.地址
C.名
D.标志
5.若定义:int a=511,*b=&a; 则printf("%d\\n",*b);的输出结果为( 未填 ) 错误 正确答案:D
A.无确定
B.a的地址
C.512
D.511
6.若有以下定义int a[10],*p=a;则p+5表示( 未填 ) 错误 正确答案:A
A.元素a[5]的地址
B.元素a[5]的值
C.元素a[6]的地址
D.元素a[6]的值
7.下列变量名中合法的是( 未填 ) 错误 正确答案:A
A.Tom
B.3a6b
C.6a7b
D.5ABC
8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( 未填 )。 错误 正确答案:C
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一字符
9.表达式18/4*sqrt(4.0)/8值的数据类型为( 未填 )。 错误 正确答案:C
A.int
B.float
C.double
D.不确定
10.若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是( 未填 )。 错误 正确答案:C
A.A%2==1
B.!(A%2==0)
C.!(A%2)
D.A%2
11.下列数据中,为字符的是( 未填 )。 错误 正确答案:D
A.‘AB’
B."A"
C.How
D.'A'
12.下列不合法的实数是( 未填 ) 错误 正确答案:C
A.34.65
B.6.3E2
C.e3
D.54.3
13.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为( 未填 )。 错误 正确答案:D
A.float
B.char
C.int
D.double
14.已知有以下定义
char a;
int b;
float c;
double d;
则表达式a*b+c-d的结果为( 未填 )型。
错误 正确答案:A
A.double
B.int
C.float
D.char
15.下面程序的输出是( 未填 )。
main()
{
int x=10,y=3;
printf(“%d\\n”,y=x%y);
}
错误 正确答案:B
A.0
B.1
C.3
D.不确定的值
16.已知变量定义i=4,则执行表达式k=i++后,k的值为( 未填 )。 错误 正确答案:C
A.2
B.3
C.4
D.5
17.在C语言中,不正确的int类型常量是( 未填 )。 错误 正确答案:B
A.0453
B.1.5
C.32768
D.-32768
18.下列不正确的转义字符是( 未填 )。 错误 正确答案:C
A.\\\\'
B.\\"
C.074'
D.\\0'
19.下列浮点数的表达中不正确的是( 未填 ) 错误 正确答案:D
A.223
B.719E22
C.2e3
D.12e2.0
20.字符(char)型数据在微机内存中的存储形式是( 未填 ) 错误 正确答案:D
A.反码
B.补码
C.EBCDIC码
D.ASCII码
21.以下实型常量中,符合C语言语法的是( 未填 )。 错误 正确答案:A
A.5E-3
B.1.2E0.5
C.E15
D.3.14.159E
22.7/2的结果为( 未填 )型。 错误 正确答案:B
A.double
B.int
C.float
D.char
23.函数double sqrt(x)的功能是( 未填 ) 错误 正确答案:B
A.求x的平方
B.求x的平方根
C.求x的对数
D.求x的绝对值
24.C语言中,若未说明函数的类型,则系统默认该函数的类型是( 未填 ) 错误 正确答案:C
A.float型
B.long型
C.int型
D.double型
25.下列程序的输出结果是( 未填 )
main()
{ int a=4;
a*=a+=6;
printf(“%d\\n”,a); }
错误 正确答案:D
A.40
B.60
C.80
D.100
26.定义a为整型,下列表达式a=3>6的运行后,a的值为( 未填 ) 错误 正确答案:A
A.0
B.1
C.3
D.表达式错误
27.设已定义x为double类型变量
x=213.82631;
printf("%-6.2e\\n",x);
则以上语句( 未填 )。
错误 正确答案:C
A.输出格式描述符的域宽不够,不能输出
B.输出为21.38e+01
C.输出为2.14e+002
D.输出为-2.14e2
28.阅读下面的程序
#include
void main()
{int i,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);}
则程序的运行结果是( 未填 )
错误 正确答案:D
A. 1,19
B. -1,19
C. 1,17
D. -1,17
29.已知 int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是( 未填 )。 错误 正确答案:A
A. 6
B. 12
C. 30
D. 36
30.若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是( 未填 )。 错误 正确答案:C
A. 3 5
B. 3,5
C. 3;5
D. 35
31.设有int a=4; float b=9.5;则执行printf("a=%d,b=%4.2f\\n",a,b);后,屏幕上显示( 未填 ) 错误 正确答案:C
A. a=%d,b=%f\\n
B. a=%d,b=%f
C. a=4,b=9.50
D. a=4,b=9.5
32.表达式18/4*sqrt (4.0)/8值的数据类型为( 未填 )。 错误 正确答案:C
A.int
B.float
C.double
D.不确定
33.下列程序执行后的输出结果是( 未填 )。
main()
{ char x=0xFFFF; printf("%d \\n",x--); }
错误 正确答案:C
A.-32767
B.FFFE
C.-1
D.-32768
34.已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是( 未填 )。 错误 正确答案:D
A. scanf("%ld",&a);
B. scanf("%d",&a);
C. scanf("%7.2f",&a);
D. scanf("%lf",&a);
35.C语言中数组下标的下限是( 未填 )。 错误 正确答案:B
A.1
B.0
C.视具体情况而定
D.无固定下限
36.有如下条件表达式,若a=2、b=4、c=5 、d=7则表达式的值为( 未填 )。a>b? a:c>d?c:d 错误 正确答案:D
A.2
B.4
C.5
D.7
37.下列if语句中,不正确的是( 未填 )。 错误 正确答案:C
A.if(x>y);
B.if(x==y) x+=y;
C.if(x!=y) scanf("%d",&x) else x=1;
D.if(x 38.要用C语言表示数学关系式a≥b≥c,正确的表达式是( 未填 )。 错误 正确答案:D A.a>=b>=c B.(a>=b)& (b>=c) C.(a>=b) || (b>=c) D.(a>=b)&& (b>=c) 39.两次运行下面程序,如果从键盘分别输入3和2,则输出结果是( 未填 ) #include void main(){ int x; scanf("%d",&x); if(x++>2) printf("%d",x); else printf("%d\\n",x--); } 错误 正确答案:A A.4和3 B.4和2 C.4和1 D.3和2 40.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是( 未填 ) 错误 正确答案:D A. x&&y B. x<=y C. x||++y&&y-z D. !(x 41.下面( 未填 )不是c语言的关键字。 错误 正确答案:C A.if B.goto C.print D.else 42.以下4个选项中,不能看做一条语句的是( 未填 ) 错误 正确答案:D A.; B.a=5,b=2.5,c=3.6; C. if(a<5); D. if(b!=5)x=2;y=6; 43.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( 未填 )。if(x>y) z=x; x=y; y=z; 错误 正确答案:B A. x=10, y=20, z=30 B. x=20, y=30, z=30 C. x=20, y=30, z=10 D. x=20, y=30, z=20 44.以下程序的输出结果是( 未填 )。 #include ”stdio.h” main() { int a=5, b=4, c=6, d; printf(”%d\\n”, d=a>b? a>c?a:c :b); } 错误 正确答案:C A.5 B.4 C.6 D.不确定 45.下列说法正确的是( 未填 )。 错误 正确答案:D A.break语句仅能使用在switch结构中 B.执行continue语句可以结束包含它的整个循环结构 C.执行循环体中的break语句可以结束语本次循环 D.执行break语句可以结束包含它的循环结构 46.下面有关for循环的正确描述是 ( 未填 )。 错误 正确答案:D A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 47.下列保留字中用于构成循环结构的是( 未填 )。 错误 正确答案:B A.if B.while C.switch D.default 48.以下正确的描述是( 未填 )。 错误 正确答案:B A. continue语句的作用是结束整个循环的执行 B. 只能在循环体内和switch语句体内使用break语句 C. 在循环体内使用break语句或continue语句的作用相同 D. 从多层循环嵌套中退出时, 只能使用goto语句 49.有以下程序 main() { int i, j; for(j=10;j<11;j++) { for(i=9;i==j-1;i++)printf("%d",j); } } 输出结果是( 未填 )。 错误 正确答案:B A.11 B.10 C.9 D.10 11 50.若有如下语句 int x=3; do{ printf("%d\n",x-=2);} while(!(--x)); 则上面程序段( 未填 ) 错误 正确答案:B A. 输出的是1 B.输出的是1和-2 C. 输出的是3和0 D. 是死循环 51.以下程序的运行结果为( 未填 ) #include "stdio.h" main() { int m,n; for(m=0,n=10;m printf("%d,%d\n",m,n);} 错误 正确答案:C A. 6,7 B. 7,6 C. 9,7 D. 7,9 52.在下述程序中,判断i>j共执行的次数是( 未填 ) main(){ int i=0, j=10, k=2, s=0; for (;;) { i+=k; if(i>j) { printf("%d",s); break; } s+=i; } } 错误 正确答案:D A.4 B.7 C.5 D.6 53.若for循环用以下形式表示:for(表达式1;表达式2;表达式3) 循环体语句,则执行语句for(i=0;i<3;i++) printf("*"); 时,表达式1执行________次,表达式3执行________次( 未填 ) 错误 正确答案:A A.1 3 B.1 1 C.3 1 D.3 3 54.程序运行的结果是( 未填 ) main() {int n=0; while(n++<=1) printf("%d\",n); } 错误 正确答案:A A.1 2 B.0 1 C.1 D.1 1 55.下面程序的输出结果是( 未填 )。 main() { int x=3,y=6,a=0; while (x++!=(y-=1)) {a+=1; if (y } printf("x=%d,y=%d,a=%d\\n",x,y,a); } 错误 正确答案:D A.x=4,y=4,a=1 B.x=5,y=5,a=1 C.x=5,y=4,a=3 D.x=5,y=4,a=1 56.在下列选项中,没有构成死循环的是( 未填 ) 错误 正确答案:D A. int i=100;while(1){ i=i%100+1;if(i>100)break;} B. for(;;); C. int k=10000;do{k++;}while(k>10000); D. int s=36;while(s)--s; 57.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。( 未填 ) #include main() { int a,b,t; scanf("%d%d",&a,&b); while(_______) {if(a>b) {t=a;a=b;b=t;} printf("%d,%d\n",a,b); scanf("%d%d",&a,&b); } } 错误 正确答案:B A. !a=b B. a!=b C. a==b D. a=b 58.有如下程序 main() { int x=23; do { printf("%d",x--);} while(!x); } 该程序的执行结果是( 未填 ) 错误 正确答案:B A.321 B.23 C.不输出任何内容 D. 陷入死循环 59.有以下语句,则下面( 未填 )是正确的描述 static char x [ ]=“12345”; static char y[ ]={‘1’,‘2’,‘3’,‘4’,‘5’}; 错误 正确答案:B A. x数组和y数组的长度相同。 B. x数组长度大于y数组长度。 C. x数组长度小于y数组长度 D. x数组等价于y数组。 60.有语句char str1[10],str2[10]={"china"};则能将字符串china赋给数组str1的正确语句是( 未填 )。 错误 正确答案:B A. str1={"china"}; B. strcpy(str1,str2); C. str1=str2; D. strcpy(str2,str1); 61.以下正确的语句是( 未填 )。 错误 正确答案:D A. int a[1][4]={1,2,3,4,5}; B. float x[3][ ]={{1},{2},{3}}; C. long b[2][3]={{1},{1,2},{1,2,3}}; D. double y[ ][3]={0}; 62.下述对C语言字符数组的描述中错误的是( 未填 )。 错误 正确答案:C A. 字符数组可以存放字符串 B. 字符数组中的字符串可以整体输入、输出 C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 D. 不可以用关系运算符对字符数组中的字符串进行比较 63.以下程序的输出结果是( 未填 )。 main() {int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}}; printf("%d%d%d%d\\n",a[0][0],a[1][1],a[2][2],a[3][3]); } 错误 正确答案:B A. 0650 B. 1470 C. 5430 D. 输出值不定 .列不能正确进行字符串赋值操作的语句是( 未填 ) 错误 正确答案:C A. char str[10];gets(str); B. char*str;str=“a”; C. char*str;str=‘a’; D. charstr[10];strcpy(str,“hello”); 65.以下说法中正确的是( 未填 ) 错误 正确答案:C A.C语言程序总是从第一个的函数开始执行 B.在C语言程序中, 要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 66.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( 未填 )。 错误 正确答案:C A. 为全局变量,在本程序文件范围内有效 B. 为局部变量,只在该函数内有效 C. 为局部变量,只在该复合语句中有效 D. 定义无效,为非法变量 67.若函数的定义为: fun (char ch) { … } 那么该函数的返回值是( 未填 ) 错误 正确答案:D A.void 型 B.char 型 C.float 型 D.int 型 68.程序的输出是 ( 未填 ) int w=3; void main() { int w=10; printf("%d\\n",fun(5)*w); } fun(int k) { if(k==0) return w; return(fun(k-1)*k); } 错误 正确答案:B A. 360 B. 3600 C. 1080 D. 1200 69.在C语言中,形参必须是( 未填 )。 错误 正确答案:B A. 常量 B. 变量 C. 数值 D. 表达式 70.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是( 未填 )。 错误 正确答案:D A. extern static float a; B. float a; C. extern auto float a; D. extern float a; 71.有一下程序 viod fun (int a,int b,int c) { a=456; b=567; c=678;} void main() { int x=10, y=20,z=30; fun (x,y,z); printf("%d,%d,%d\\n",x,y,z); }输出结果是( B ) 错误 正确答案:B A.30,20,10 B.10,20,30 C.456,567,678 D.678,567,456 72.下面程序的运行结果是( 未填 )。 char c[5] = {‘a’,‘b’,‘\\0’,‘c’,‘\\0’}; printf(“%s”,c); 错误 正确答案:D A. ‘a’’b’ B. \\0 C. ab c D. 以上三个答案均有错误 73.假设有以下函数定义 float f1(float x) {return x+1.3;} 则输出语句printf(“%f\\n”,f1(2));的输出结果为( 未填 )。 错误 正确答案:A A.3.300000 B.3.3 C.2.000000 D.1.3 74.已知 int t=0; while (t=1) {...} 则以下叙述正确的是( 未填 ) 错误 正确答案:B A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法 D.以上说法都不对 75.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是( 未填 )。 错误 正确答案:B A.地址传递 B.单向值传递 C.由用户指定传递方式 D.实参传给形参,再由形参传给实参 76.设有:int a[10],i=5;,以下对数组元素引用不正确的是( 未填 )。 错误 正确答案:D A. a[9] B. a[0] C. a[i] D. a[i+5] 77.若有数组定义: char array [ ]="China"; 则数组 array所占的空间为( 未填 )。 错误 正确答案:C A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 78.若i为int型,且有程序如下,则输出结果是( 未填 ) i=111; if(i%3==0) printf("####"); printf("****"); 错误 正确答案:C A) #### B. **** C. ####**** D. 无输出结果 79.对表达式for(表达式1; ;表达式3)可理解为( 未填 ) 错误 正确答案:B A. for(表达式1;0;表达式3) B. for(表达式1;1;表达式3) C. for(表达式1;表达式1;表达式3) D. for(表达式1;表达式3;表达式3) 80.若 int m=5; 则 if(m++>5) printf("%d\\n",m); else printf("%d\\n",m--); 输出结果是( 未填 )。 错误 正确答案:B A.7 B.6 C.5 D.4 81.以下程序的输出结果( 未填 ) int main() { int num=0; while(num <=2) {num++; printf("%d",num); } } 错误 正确答案:B A.012 B.123 C.234 D.345 82.以下描述中正确的是( 未填 ) 错误 正确答案:C A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C.在do-while循环体中,是先执行一次循环,再进行判断 D.do-while循环中,根据情况可以省略while 83.要说明一个有10个int元素的数组,应当选择语句( 未填 )。 错误 正确答案:A A. int a [10]; B. int a[2,5]; C. int a [ ]; D. int *a[10]; 84.若 int k=3; 则语句 if(k) printf("###"); else printf("&&&&"); 执行后的输出结果是( 未填 ) 错误 正确答案:A A.### B.&&&& C.###&&&& D.有语法错误,不能执行 85.以下程序段的输出结果为( 未填 )。 for(i=4;i>1;i--) for(j=1;j putchar('#'); 错误 正确答案:B A.无 B.###### C.# D.### 86.有以下语句: i=1; for(;i<=100;i++) sum+=i; 与以上语句序列不等价的有( 未填 )。 错误 正确答案:C A. for(i=1; ;i++) {sum+=i;if(i==100)break;} B. for(i=1;i<=100;){sum+=i;i++;} C. i=1;for(;i<=100;)sum+=i; D. i=1;for(; ;){sum+=i;if(i==100)break;i++;} 87.以下程序运行后的输出结果是( 未填 )。 fun(int a, int b) { if(a>b) return a; else return b; } 则函数调用表达式 fun(fun(3,5),2)的结果为: 错误 正确答案:B A.3 B.5 C.2 D.10 88.定义一个void型函数意味着调用该函数时,函数( 未填 ) 错误 正确答案:C A.通过return返回一个用户所希望的函数值 B.返回一个系统默认值 C.没有返回值 D.返回一个不确定的值 .以下是死循环的程序段是( 未填 ) 错误 正确答案:C A. for(i=1; ; ){if(++i%2==0) continue;f(++i%3==0) break; } B. i=32767; do{if(i<0) break;}while(++i); C. for(i=1; ; ) if(++i<10) continue; D. i=1;while(i--); 90.以下程序的输出结果( 未填 ) int main() { int i,s=0; for(i=1;i<10;i+=2){s+=i+1;} printf("%d\\n",s) } 错误 正确答案:D A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中奇数之和 D.自然数1~10中偶数之和 91.若 int num=0; 则循环语句while(num<=2) { num++; printf("%d\\n",num); } 的执行结果为( 未填 ) 错误 正确答案:C A. 1 B. 1<换行>2 C. 1<换行>2<换行>3 D. 1<换行>2<换行>3<换行>4 92.若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是( 未填 )。 错误 正确答案:C A.2.5 B.3.5 C.4.5 D.5.5 93.下列程序段的执行结果( 未填 )int a=8,b=1; if(a>=5) printf("%d",b+a); else if(a>b) printf("%d",a-b); else printf("%d",b); 错误 正确答案:A A.9 B.7 C.1 D.编译错误 94.有以下程序 int fun(int n) { if(n==1) return 1; else return(n+fun(n-1)); } 则函数调用表达式fun(10)输出结果是( 未填 )。 错误 正确答案:A A.55 B.54 C.65 D.45 95.有下面程序 #include void main(){ int x; scanf("%d",&x); if(x<=3);else if(x!=10) printf("%d\\n",x); } 程序运行,输入的值在哪个范围才会有输出结果( 未填 ) 错误 正确答案:B A.不能于10的整数 B.大于3且不等于10的整数 C.大于3或等于10的整数 D.小于3的整数 96.下列关于do...while(表达式)循环结构的叙述中,说法正确的是( 未填 )。 错误 正确答案:B A.只要表达式的值不为0就开始执行循环 B.循环体至少被执行一次 C.当表达式的值为0时循环体一次也不执行 D.循环体仅能执行一次 97.若有定义:int a[10],则对数组a元素的正确引用是 ( 未填 )。 错误 正确答案:B A. a(5) B. a[0] C. a[10] D. a[3.5] 98.下面程序段( 未填 ) for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",t); } 错误 正确答案:D A. 当x<0时整个循环结束 B. x>=0时什么也不输出 C. printf函数永远也不执行 D. 最多允许输出100个非负整数 99.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择①( 未填 ) #include void main() { int a,max=0; scanf("%d",&a); while( ① ) {
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务