C语言程序设计单选题1
《C语言程序设计》练习题及答案
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
c语言程序设计选择题1
1、在C语言中,合法的字符常量是()。
A.'字'B."A"C."ABC"D.'\x41'2、下面叙述正确的是()。
A.程序中必须包含有输入语句B.变量按所定义的类型存放数据C.main函数必须位于文件的开头D.每行只能写一条语句3、错误的叙述是()。
A.一个C语言源程序可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C程序必须包含一个main()函数D.构成C语言源程序的基本单元是算术表达式4、()是关于C语言数据类型的正确叙述。
A.变量必须先定义后使用B.不允许使用空类型C.枚举类型不是基本类型D.数组并不是构造类型5、 main( )函数的位置()。
A.必须在自定义函数前面B.可以在自定义函数后面C.必须位于程序的最前面D.必须在自定义函数后面6、 C语言函数体由()括起来。
A.<>B.( )C.{ }D.[ ]7、()是不正确的叙述。
A.注释说明只能位于一条语句的后面B.C源程序的基本组成单元是函数C.C源程序可由一个或多个函数组成D.每条语句最后必须有一个分号8、一个C语言源程序是由()。
A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成9、结构化程序设计的三种基本结构是()。
A.函数结构、判断结构、选择结构B.平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构D.判断结构、嵌套结构、循环结构10、 C源程序的调试是指对源程序进行()。
A.录入与编辑B.查错与编译C.查错与排错D.连接与运行1、 C语言中,可将一系列语句置于一对()之间从而构成复合语句。
A.尖括号"<>"B.圆括号"( )"C.花括号"{}"D.方框号"[ ]"2、构成C源程序的基本单位是()。
A.语句B.变量C.运算符D.函数3、以下叙述中正确的是()。
C语言程序设计复习题(一)1的阅读程序部分
} case 2: printf("third\n"); } } 结果:first third 4.下列程序运行结果是【 -1 】 。 #include<stdio.h> main( ) { int n=4; do n--; while (n); printf("%d\n",--n); } 5.下列程序运行结果是【 】 。 #include<stdio.h> dec( ) { static int x=5; x--; printf("%d",x); } main( ) { int k; for(k=0;k<3;k++) dec( ); } 结果:4 3 2 五.程序填空(请依题意,将程序中括号部分补充完整。每题 3 分,共 15 分) 1. 一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最 小数。 #include <stdio.h> main() { int n; n=1; while (1) { n=n+1; if 【 (1) (n+3)%5==0&&(n-3)%6==0 】break; } printf("n=%d",n); } 2.将两个字符串合并成一个字符串。 #include <stdio.h> main() { char s1[20],s2[20],s3[40]; int i,j; printf("String1:"); gets(s1); printf("String2:》复习题(二)
一.单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答 案的题号,填入题中的括号内。多选不给分。每题 1 分,共 20 分) 1.在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式 中包含有 int、 long、 unsigned、 char 类型的变量和数据, 则表达式最后的运算结果是 【 ④ 】 类型数据。 ① int ② char ③ unsigned ④ long 2.若 int 型数据占 2 个字节,则以下语句的输出为 【 ④ 】 。 int k=-1; printf(“%d,%u\n”,k,k); ① -1,-1 ② -1,32767 ③ -1,32768 ④ -1,65535 3.设 x 和 y 均 为 int 型 变 量 , 则 执 行 以 下 语 句 后 的 输 出 为 【 ① 】 。 x=1 5; y=5 ; pri ntf( “ %d\n ” ,x%= (y%= 2)); ① 0 ② 1 ③ 6 ④ 12 4.若 x 为 uns igned in t 型 变 量 , 则 执 行 以 下 语 句 后 的 x 值 为 【 ④ 】 。 x=6 5535; pri ntf( “ %d\n ” ,x); ① 65535 ② 1 ③ 无定值 ④ -1 5 . 判断 char 型变量 c1 是否为小写字母的最简单且正确的表达式为【 ④ 】 。 ① ’a’<=c1<=’z’ ② (c1>=a)&&(c1<=z) ③ (‘a’<=c1)||(‘z’>=c1) ④ (c1>=’a’)&&(c1<=’z’) 6 . 以下不正确的 if 语句是【 ③ 】 。 ① if (x>y); ② if (x= =y) x+=y; ③ if (x!=y)scanf(“%d”,&x) else scanf(“%d”,&y); ④ if (x<y) {x++;y++;} 7 . C 语言对嵌套 if 语句的规定是:else 总是与【 ④ 】 配 对 。 ① 其 之 前 最 近 的 if ② 第 一 个 if ③ 缩 进 位 置 相 同 的 if ④ 其 之 前 最 近 且 不 带 else 的 if 8 . 设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为【 ② 】 。 switch(a>0) { case 1: switch(b<0) { case 1: prin tf(“@”); break; case 2: p rintf(“!”); b reak; } case 0: switch(c==5) { case 0: prin tf(“*”); break; case 1 : p rintf(“#”); b reak; default:printf(“$”); break; } defau lt: p rin tf(“&”); } ① @#& ② #& ③ *& ④ $& 9 . 若有说明语句:int w=2,x=3,y=3,z=4;则表达式 w>x?w:z>y?z:x 的值是 【 ① 】 。 ① 4 ② 3 ③ 2 ④ 1 10.下面有关 for 循环的正确描述是【 ④ 】 。 ① for 循环只能用于循环次数已经确定的情况 ② for 循环是先执行循环体语句,后判定表达式
《C语言程序设计(第2版)》试题库 期末试卷一
期末试卷一一、单项选择题(每题1分,共45分)1.在计算机系统中,可以执行的程序是()A.源程序B.汇编语言程序C.机器语言程序D.ASCII码2.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.下列对C语言程序的书写格式的描述,()是正确的。
A.C语言程序中,每行只能写一条语句B.C语言程序书写时通常采用“缩排”方式C.C语言程序的书写中要求每行都要以分号作结尾D.注释行必须放在程序的头或程序的尾4.启动TC V2.0环境后,打开一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.C语言源程序文件file.c经系统编译、连接后,生成的文件名为()A.file.c B.file C.file.obj D.file.exe6.下列选项中,合法的C语言标识符是()A._abc*2 B._ch_er C.a-1 D.a7&b7.以下所列的C语言常量中,错误的是()A.0xFF B.1.2e0.5 C.2L D.’\72’8.以下变量x,y,t均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是()A.x/y*z B.x*(1/(y*z))C.x/y*1/z D.x/y/z9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()A.10A 20B<CR> B.10 A 20 B<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f",&x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()#include<stdio.h>main( ){ float a,b;scanf("%f%f",&a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio.h>main( ){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()#include<stdio.h>main( ){ int a=2,b=5;printf("a=%%d,b=%%d\n",a,b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0,则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10]; 则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-10]32.下面程序的运行结果是()main(){int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(“%2d”,a[i]);}}A.-4 0 4 0 4 B.-4 0 4 0 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.在C语言程序中,当调用函数时,下面说法正确的是()A.实参和形参各占一个独立的存储单元B.实参和形参可以共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.前面都不正确38.下列变量中,哪类变量的生存期和作用域是不一致的()A.自动变量B.定义在文件最前面的外部变量C.静态内部变量D.寄存器变量39.C语言中形参的缺省存储类别是()。
C语言程序设计习题一
A)8 40 B)10 40 C)10,4 D)8,4 16.下面程序的输出结果是 。 main() {int i,j; i=16;j=(i++)+i;printf(“%d”,j); i=15;printf(“%d %d”,++i,i); } A)32 16 15 B)33 15 15 C)34 15 16 D)34 16 15 17.表达式(int)2.1416的值为 。 A)2 B)2.1 C)0 D)3 18.表达式(double)(20/3)的值为 。 A)6 B)6.0 C)2 D)3 19. 若有以下定义, 则正确的赋值语句为 。 int a, b ; float x; A)a=1, b=2, B)b++; C)a=b=5 D)b= int (x) ; 20. .C语言规定标识符由 等字符组成. A)字母 数字 下划线 B)中划线 字母 数字 C)字母 数字 逗号 D)字母 下划线 中划线 21. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是 。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 22. 有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终 结果为 。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP 23. 已知ch是字符型变量,下面不正确的赋值语句是: 。 A)ch=‘\0’ B)ch=‘a+b’ C)ch=‘7’+‘9’ D)ch=7+9 24. 若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结 果为: 。 printf(“%f”,(x,y));
[试题分类]:C语言程序设计笔试题_1
[试题分类]:C语言程序设计1.下列选项中,不属于C语言特点的是A. 能实现汇编语言的大部分功能B. 语言简洁、紧凑、使用方便C. 数据类型丰富,可移植性好D. 有较强的网络操作功能答案:D题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,正确的C语言标识符是A. \nB. %dC. _123D. #define答案:C题型:单选题知识点:第2章 C语言概述难度:13.在C语言中,错误的int类型常数是A. 0B. 038C. 0xAFD. 32765答案:B题型:单选题知识点:第3章数据类型与运算规则难度:14.若有定义“int x=5,y=5,z=5;”,执行语句“x%=y+z;”后,x的值是A. 6B. 5C. 1D. 0答案:B题型:单选题知识点:第3章数据类型与运算规则难度:25.若有定义“int x=3,y=4,z=5;”,则下列表达式中值不为1的是A. 'x'&&'y'B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.逗号表达式“(a=3*5,a*4),a+15”的值是A. 15B. 60C. 30D. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=1,j=2,k=3;”,则执行下列语句后的输出结果是if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);A. 1 2 3B. 2 3 4C. 2 2 3D. 2 3 3答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=0;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;default: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=6,y=4B. x=2,y=1C. x=3,y=2D. x=7,y=5答案:A题型:单选题知识点:第5章选择结构的程序设计难度:29.语句序列“int i,j; for (i=0, j=1; i<=j+1; i+=2,j--) printf ("%d\n",i);”执行后i的值是A. 3B. 2C. 1D. 0答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",--n);”后的输出结果是A. 20B. 31C. 210D. 321答案:A题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x-=2);\} while(!(--x));}A. 1B. 3 0C. 1 -2D. 死循环答案:C题型:单选题知识点:第6章循环结构的程序设计难度:212.下列关于数组定义、初始化或赋值语句中,正确的是A. int x[5]={1,2,3,4,5,6};B. int n=8; int score[n];C. int a[8]; a[8]=100;D. int x[]={1,2,3,4,5,6};答案:D题型:单选题知识点:第7章数组难度:113.{若有定义“int a[3][3]=\{0,1,2,0,1,2,0,1,2\}, i,j,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<3;i++)for(j=i;j<=i;j++)s=s+a[i][a[j][j]];}A. 9B. 4C. 3D. 1答案:C题型:单选题知识点:第7章数组难度:214.C语言程序中,调用函数时A. 实参和形参共用一个存储空间B. 实参和形参各自占用一个独立的存储空间C. 由用户指定实参和形参是否共用存储空间D. 由系统指定实参和形参是否共用存储空间答案:B题型:单选题知识点:第8章函数难度:115.下述函数首部定义形式正确的是A. int f(int x,y)B. int f(int x; int y)C. int f(x,y: int)D. int f(int x, int y)答案:D题型:单选题知识点:第8章函数难度:116.若p1和p2为指向同一字符串的指针变量,c为字符变量,则下列语句中,不能正确执行的是A. p2=cB. c=*p2C. p1=p2D. c=*p1+*p2;答案:A题型:单选题知识点:第9章指针难度:217.{下列函数的功能是fun(char *p2, char *p1) \{while((*p2=*p1)!='\0') \{p1++; p2++;\}\}}A. 将p1所指字符串的地址赋值给指针p2B. 检查p1和p2所指字符串中是否有'\0'C. 对p1和p2两个指针所指字符串进行比较D. 将p1所指字符串复制到p2所指内存空间答案:D题型:单选题知识点:第9章指针难度:218.下列程序段中,枚举变量c1和c2的值分别是enum color {red, yellow, blue=4, green, white}; enum color c1=yellow, c2=white;A. 2,6B. 1,6C. 2,5D. 2,4答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} data , *p=&data;则下列选项中,引用data中成员num正确的是}A. (*p).data.numB. p->data.aC. p.data.aD. (*p).a答案:D题型:单选题知识点:第10章结构、联合与枚举类型难度:220.C语言中,对文件进行存取的基本单位是A. 记录B. 字节C. 元素D. 簇答案:B题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为奇数的关系表达式为__________。
《C语言程序设计》考试及答案
{
int *p, a = 10;
p = &a;
printf("%d,%d\n",a,*p);
return 0;
}
[单选题]*
D、10,10(正确答案)
C、10,*p
B、a,*p
A、-859668,163828
6、当定义一个结构体变量时,系统为它分配的内存空间是()。[单选题]*
A、一个函数
B、一个数组
C、一个结构体(正确答案)
D、一个文件名
12、int *p,q;的含义是()。[单选题]*
A、q是一个指针变量
B、p是一个整型变量
C、p是一个指针变量,用来存放一个整型变量在内存中的地址(正确答案)
D、以上都不对
13、若有定义:int x,*pp;则正确的赋值表达式是()。[单选题]*
A、(a<=0)&&(a>=10)
B、(a<=0)||(a>=10)(正确答案)
C、(a<=0)OR(a>=10)
D、(a<=0)|(a>=10)
26、如果a=4 , b=3 ,c=2 ,d=1 ,则条表达式
a<b ? a : c<d ? c : d的值为( )。
[单选题]*
A、1(正确答案)
B、2
A、1(正确答案)
B、2
C、3
D、4
3、变量的指针,其含义是指该变量的()。[单选题]*
A、值
B、地址(正确答案)
C、名
D、一个标志
4、若执行fopen函数时发生错误,则函数的返回值是()。[单选题]*
A、地址值
B、NULL(正确答案)
C语言程序设计题库及答案
第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
C语言程序设计(本科C卷及答案)(1)(1)
题号一二三四五六总分得分考试形式:■闭卷□开卷■笔试□机试答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题 2 分,共 30 分)1 2 3 4 5 6 7 8 9 10C D A B B A D A C C11 12 13 14 15C D A C B1、C语言源程序文件是一个后缀为( )的文件。
(第1章)A) .bas B) .java C) .c D) .pas2、下列哪个图形不属于传统流程图的符号( )(第2章)A) B) C) D)3、下列标识符中,不合法的用户标识符为()。
(第3章)A) a+4B) If C) then D) _1234、下面运算符优先级最高的是()。
(第3章)A) * B) !C) -(减号)D) =5、以下哪个是不正确的转义字符()。
(第3章)A) '\\'B) '077'C) '\0'D) '\n'6、若int n,x=1,y=0,则条件表达式n=x<y?x:y的结果为()。
(第4章)A) 0 B) 1 C) 2 D) 表达式错误7、分析以下程序, 下列说法正确的是()。
(第4章)int main(){ int i=10,m=0,n=0,k=0;switch(i/10){ case 0: m++;n++;break;case 10: n++; break;default: k++;n++; }printf("%d %d %d\n",m,n,k); }A) 0 0 0 B) 0 1 0 C) 1 1 0 D) 0 1 18、程序段如下:则以下说法中正确的是()。
(第5章)int k=-10; while(k<0) k=k+1;A) while循环执行10次B) while循环执行11次C) 循环体语句一次也不执行D) 循环是无限循环9、下列程序段执行后k值为()。
C语言程序设计模拟考试试卷及答案(一)
C语言程序设计模拟考试试卷及答案(一)一、单项选择题1.一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是( )。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0;C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C ”};则表达式*language[1]>*language[2]比较的是()。
C语言程序设计模拟试题1(附答案)
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
国家开放大学电大考试《C语言程序设计》题库及答案
《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 43.字符串"a+b=12\n"的长度为(B)。
A. 6B. 7C. 8D. 94.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if5.在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i<10);A. 8B. 9C. 10D. 116.将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )7.若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。
9.假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p 指向s所指向的字符串,则p应定义为(A)。
A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。
c语言程序设计习题1-4章练习
int a=1,b=2,c=3,d=4,k;
k=a>b?a:c>d?c:d
4.已知:int a=5;则执行a+=a-=a*a;语句后,a的值为【6】。
5.下面程序的运行结果是x=【7】,y=【8】。
main( )
{ float x=4.9;int y;
y=(int)x;
char ch;
scanf("%c",&ch);
ch=(ch>=′A′&&ch<=′Z′)?(【1】):ch
printf("【2】\\n",ch);
2.下面程序段的执行结果是x=【3】,y=【4】。
inta=3,b=5,x,y;
x=a+1,b+6;
y=(a+1,b+6);
printf("x=%d,y=%d",x,y);
B)11.000000,12.000000,13
C)11.0000000,12,13
D)11,12.000000,13
15.执行以下程序后x的值为【】。
unsigned int x=65535;
printf("%d\\n",x);
A) 65535B)1C)有错误D)-1
二、填空题
1.下面程序段的功能是输出大写字母对应的小写字母的ASCII码,请填空。
12.执行下面程序段,给x、y赋值时,不能作为数据分隔符的是【】。
int x,y;
scanf("%d%d",&x,&y);
A)空格B)Tab键C)回车D)逗号
13.下面合法的语句是【】。
C语言程序设计基础知识 习题一及参考答案
第一章:程序设计基础知识一、单项选择题1、以下( )是面向过程的程序设计语言。
A)机器语言B)汇编语言C)高级语言D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。
A)设计数据结构和算法B)建立数学模型C)编写程序D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是( )。
A)枚举法B)递推法C)分治法D)排序法4、以下不属于算法基本特征的是( )。
A)有穷性B)有效性C)可靠性D)有一个或多各输出5、以下描述中不正确的是( )。
A)程序就是软件,但软件不紧紧是程序。
B)程序是指令的集合,计算机语言是编写程序的工具。
C)计算机语言都是形式化的语言,它有一个语法规则和定义。
D)计算机语言只能编写程序而不能表示算法。
6、下面描述中,正确的是( )A)结构化程序设计方法是面向过程程序设计的主流。
B)算法就是计算方法。
C)一个正确的程序就是指程序书写正确。
D)计算机语言就是编写程序的工具而不是表示算法的工具。
7、下面描述中,不正确的是( )。
A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。
C)对于同一个问题,递推算法比递归算法的执行时间要长。
D)递推算法总可以转换为一个递归算法。
8、N-S图与传统流程图比较,主要优点是( )。
A)杜绝了程序的无条件转移。
B)具有顺序、选择和循环三种基本结构。
C)简单、只管。
D)有利于编写程序。
A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。
(判断条件)2、结构化程序设计是__________应遵循的方法和原则。
(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。
(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。
(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。
c语言程序设计(复习资料)
c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。
(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。
(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。
(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。
(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。
(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。
(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。
C语言程序设计试卷1
《C语言》考试试卷I一、单选题:(每小题2分,共40分)1、在C语言中,正确的int类型的常数是()A、32768;B、0x5g ;C、038;D、12 ;2、下列常数中不能作为C的常量的是()A、0xa5B、2.5e-5C、3e2D、05823、在C语言中,若一个i nt型数据在内存中占2个字节,则unsi gned int 型数据的取值范围是()A、0~25B、0~65535C、0~32767D、-32768~327674、以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行。
B、C语言程序总是从main()函数开始执行。
C、C语言程序中的main()函数必须放在程序的开始部分。
D、一个C函数中只允许一对花括号。
5、C语言中用语结构化程序设计的三种基本结构是()A、顺序结构、选择结构、循环结构;B、if ,switch ,break ;C、for ,while ,d o—while;D、if ,for ,continue ;6、对C语言中标识符,下列说法正确的是()A、标识符中的第一个字母必须是字母。
B、标识符中的第一个字母必须是下划线。
C、标识符的前两个字母必须是字母和下划线。
D、标识符中的第一个字母必须是字母或下划线。
7、已知int i;float f;正确的语句是()A、(int f)% iB、int (f% i )C、int (f % i)D、(int)f % i8、以下错误的转义字符是()A、'\\'B、' \'C、' \81'D、' \0 '9、以下正确的描述是( )A、只能在循环体内和switch语句体内使用break语句。
B、在循环体内使用break语句或continue语句的作用相同。
C、continue语句的作用是结束整个循环的执行。
.D、break语句能够一次从多层循环嵌套中退出。
10、C语言对嵌套if语句的规定是:else总是与()A、其之前最近的if配对B、第一个if配对C、缩进位置相同的if配对D、其之前最近的且尚未配对同一层内的if配对11、在定义int a[5][6];后,第10个元素是()A、a[2][5]B、a[2][4]C、a[1][3]D、a[1][5]12、以下不正确的定义语句是()A、double x[5]={2.0 , 4.0 , 6.0 , 8.0 , 10.0 };B、int y[5]={0 , 1 , 3 , 5 , 7 , 9 };C、char c1[ ]={ '1' , '2', '3' , '4' , '5' };D、char c2[ ]={'\x10' , '\xa' , '\x8' };13、下面()是错误的if语句(设int x,a,b;)A、if(a=b)x++;B、if(a=<b)x++;C、if(a-b)x++;D、if(x)x++;14、能正确表示a和b同时为正或同时为负的逻辑表达式是( )A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、(a>0&&b>0)||(a<0&&b<0)15、下面有关for循环的正确描述是:()A、for循环只能用于循环次数已经确定的情况。
C语言程序设计期末考试试题(江西理工)1
C语言程序设计试题1一、单项选择题1.C语言规定,在一个源程序中main函数的位置_____D____ 。
A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后2.以下选项中,__D_________ 是C语言关键字A.printf B.include C.fun D.default3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为__A___ 。
A.0 B.3 C.3.5 D.44.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句"c=sizeof(p);"后,c的值为_D___A.1 B.2 C.3 D.45.已知有声明"int a=3,b=4;",下列表达式中合法的是D____。
A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是__D__。
A.s="Good"; B.s[20l="Good";C.strcat(s,"Good"); D.strcpy(s,"Good");7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_C___ 。
A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3]8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_A___ 。
C语言程序设计--试卷1
}s;
C、struct ABC
{ double a;
char b[10];
}
ABC s;
D、typedef ABC
{ double a;
char b[10];
}
ABC s;
7. 以下程序的输出结果是______。
main()
main() {
char str[12]={'s','t','r','i','n','g'};
printf("%d/n",strlen(str) );
}
A、6
B、7
C、11
D、12
10. 请读程序:
#include <stdio.h>
func(int a, int b){
main()
{
union{
unsigned char c;
unsigned int i[4];
}z;
z.i[0]=0x39;
z.i[1]=0x36;
printf("%c/n",z.c);
}
的输出是______。
A、6
B、9
C、0
D、3
{ int a=-1,b=1, k;
if((++a<0)&&!(b--<=0))
printf("%d %d/n",a,b);
else
14秋地大《C语言程序设计(新)》在线作业一答案
地大《C语言程序设计(新)》在线作业一
一,单选题
1. 使用putchar函数输出字符,自变量不可以是:
A. 整型
B. 字符型
C. 常量
D. 实型数据
?
正确答案:D
2. 结构化程序设计的基本结构不包含以下哪项()
A. 顺序
B. 选择
C. 跳转
D. 循环
?
正确答案:C
3. 以下对C语言函数的有关描述中,正确的是:______。
()
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. 函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
?
正确答案:A
4. 有以下程序片段int n=0,p; do { scanf(%d",&p); n++; } while(p!=12345&&n<3); 此处do-while 循环的结束条件是()
A. p的值不等于12345并且n的值小于3
B. p的值等于12345并且n的值大于等于3
C. p的值不等于12345或且n的值小于3
D. p的值等于12345或且n的值大于等于3
?
正确答案:D
5. C浯言中函数能否嵌套调用和递归调用
A. 二者均不可
B. 前者可,后者不可
C. 前者不可,后者可
D. 二者均可
?
正确答案:D。
C语言程序设计复习题
《C语言程序设计》(A )卷复习题一、单选题1.下列特性中,C与C++共有的是( D )A.继承B.封装C.多态性D.函数定义不能嵌套2.类的指针成员的初始化是通过函数完成的,这个函数通常是( B )A.析构函数B.构造函数C.其它成员函数D.友元函数3.有关const对象和const成员数据,下列说法不正确的是( C )A.const成员数据不能在定义类时直接赋值B.const对象中的成员数据不能重新赋值C.const对象可以调用它的任何一个成员函数D.const成员数据,只能在构造函数中用初始化列表的方法对它初始化。
4.静态成员函数没有( B )A.返回值B.this指针C.指针参数D.返回类型5.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( A )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数6.下面叙述不正确的是( D )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的7.在C++中实现封装是借助于( B )A.枚举B.类C.数组D.函数8.所有在函数中定义的变量,都是( B )A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题1.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。
它的特点是:不能改变_成员数据的值_也不能调用类中_ 非const __成员函数。
2.一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数 __。
3.C++中,虚函数帮助实现了类的_多态_性。
4为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义____ _析构函数_。
5.要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friend void F() 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择共206题第1题题号:3123下列数据中属于"字符串常量"的是A:ABCB:"ABC"C:'ABC'D:'A'答案:B第2题题号:3090能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A:a>=10 or a<=0B:a>=0 | a<=10C:a>=10 && a<=0D:a>=10 || a<=0答案:D第3题题号:3122从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句答案:C第4题题号:3114C语言源程序名的后缀是A:exeB:cC:objD:cp答案:B第5题题号:3120下列( )表达式的值为真,其中a=5;b=8;c=10;d=0 A:a*2>8+2B:a&&dC:(a*2-c)||dD:a-b<c*d答案:D第6题题号:3124C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件A:.cB:.objC:.exeD:.bas答案:C第7题题号:3162若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入A:2030,40B:20 30 40C:20, 30 40D:20,30,40答案:D第8题题号:3098在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是A:externB:registerC:autoD:static答案:D第9题题号:3161C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为A:.cB:.objC:.exeD:.bas答案:B第10题题号:3109C语言的if语句中,用作判断的表达式为A:任意表达式B:逻辑表达式C:关系表达式D:算术表达式答案:A第11题题号:3129设有说明:char c; int x; double z;则表达式c*x+z值的数据类型为A:floatB:intC:charD:double答案:D第12题题号:3166 定义共用体的关键字是A:unionB:enumC:structD:typedef答案:A第13题题号:3153 以下正确的字符串常量是A:"\\\"B:'abc'C:OlympicGamesD:'A'答案:A第14题题号:3126 定义结构体的关键字是A:unionB:enumC:structD:typedef答案:C第15题题号:3128 下列正确的标识符是A:_doB:6aC:%yD:a+b答案:A第16题题号:3091 C程序的基本结构单位是A:文件B:语句C:函数D:表达式答案:C第17题题号:3130下列说法中错误的是A:一个数组只允许存储同种类型的变量B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值C:数组的名称其实是数组在内存中的首地址D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改答案:B第18题题号:3139算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为A:算术运算、赋值运算、关系运算B:关系运算、赋值运算、算术运算C:算术运算、关系运算、赋值运算D:关系运算、算术运算、赋值运算答案:C第19题题号:3144若x=2,y=3则x||y的结果是A:0B:1C:2D:3答案:B第20题题号:3110C 语言程序的三种基本结构是顺序结构、选择结构和______结构.A:循环B:递归C:转移D:嵌套答案:A第21题题号:3092设有说明:char w; int x; float y; double z; 则表达式w*x+z-y 值的数据类型为().A:floatB:intC:charD:double答案:D第22题题号:3106执行下列程序段后,m的值是________.int w=2,x=3,y=4,z=5,m;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A:4B:3C:5D:2答案:D第23题题号:3108C语言的switch语句中case后A:只能为常量B:只能为常量或常量表达式C:可为常量或表达式或有确定值的变量及表达式D:可为任何量或表达式答案:B第24题题号:3100C语言函数的隐含存储类别是A:staticB:autoC:registerD:extern答案:D第25题题号:3142以下程序的执行结果是________.main(){ int w = 1, x = 2, y = 3, z = 4; w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A:1B:2C:3D:4答案:D第26题题号:3160为表示关系x≥y≥z,应使用C语言表达式A:(x>=y)&&(y>=z)B:(x>=y) AND (y>=z)C:(x>=y>=z)D:(x>=z)&(y>=z)答案:A第27题题号:3167下列关于指针定义的描述,___________是错误的A:指针是一种变量,该变量用来存放某个变量的地址值的B:指针是一种变量,该变量用来存放某个变量的值C:指针变量的类型与它所指向的变量类型一致D:指针变量的命名规则与标识符相同答案:B第28题题号:3088下列变量中合法的是A:B.C.TomB:3a6bC:_6a7bD:$ABC答案:C第29题题号:3145C语言中,switch后的括号内表达式的值可以是A:只能为整型B:只能为整型,字符型,枚举型C:只能为整型和字符型D:任何类型答案:D第30题题号:3159字符串指针变量中存入的是A:字符串B:字符串的首地址C:第一个字符D:字符串变量答案:B第31题题号:3135C语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern答案:B第32题题号:3094C语言中,逻辑"真"等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数答案:B第33题题号:3117已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A:A,BB:A,68C:65,66D:65,68答案:C第34题题号:3125若有定义int a[10],*p=a;,则p+5表示A:元素a[5]的地址B:元素a[5]的值C:元素a[6]的地址D:元素a[6]的值答案:A第35题题号:3102若int a=3,则执行完表达式a-=a+=a*a后,a的值是A:-15B:-9C:-3D:0答案:D第36题题号:3157若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A:*(a+2)B:a[p-3]C:p+2D:a+3答案:A第37题题号:3165main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b);}该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第38题题号:3143以下程序的输出结果是________.void fun(int a, int b, int c){ a=456; b=567; c=678; }main(){ int x=10, y=20, z=30;fun(x, y, z);printf("%d,%d,%d\n", z, y, x);}A:30,20,10B:10,20,30C:456567678D:678567456答案:A第39题题号:3137有定义:char*p1,*p2;则下列表达式中正确合理的是A:p1/=5B:p1*=p2C:p1=&p2D:p1+=5答案:C第40题题号:3099若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;不能表示a数组元素的表达式是A:*pB:a[10]C:*p++D:a[*p-a]答案:D第41题题号:3147对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是A:aa数组元素的值分别是"abcd"和"ABCD"B:aa是指针变量,它指向含有两个数组元素的字符型一维数组C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D:aa数组的两个元素中各自存放了字符'a'和'A'的地址答案:D第42题题号:165下列定义数组的语句中正确的是()。
A:#define size 10 char str1[size],str2[size+2]; B:char str[];C:int num['10'];D:int n=5; int a[n][n+2];答案:A第43题题号:106以下叙述中不正确的是()。
A:一个好的程序应该有详尽的注释B:在C程序中,赋值运算符的优先级最低C:在C程序中,j++;是一条赋值语句D:C程序中的#include和#define均不是C语句答案:B第44题题号:118已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是()。
A:1990B:1992C:1996D:2000答案:A第45题题号:153在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式()。
A:只能用逻辑表达式B:只能用关系表达式C:只能用逻辑表达式或关系表达式D:可用任意表达式答案:D第46题题号:144设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。