资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、以下不是 C 语言的特点的是 ( ) A、 C 语言简洁、紧凑 B、 能够编制出功能复杂的程序 C、 C 语言可以直接对硬件进行操作 D、 C 语言移植性好 2、以下不正确的 C 语言标识符是 ( ) A、 ABC B、 abc C、 a_bc D、 ab.c 3、一个 C 语言程序是由 ( ) A、 一个主程序和若干子程序组成 B、 函数组成 C、 若干过程组成 D、 若干子程序组成 4、一个算法应该具有“确定性”等 5 个特性,对另外 4 个特性的描述中错误的 是 ( ) A、 有零个或多个输入 B、 有零个或多个输出 C、 有穷性 D、 可行性 5、 设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+a+i*f 值的 数据类型为 ( ) A、 int B、 float C、 double D、 不确定 6、在 C 语言中,char 型数据在内存中的存储形式是 ( ) A、 补码 B、反码 C、源码 D、ASCII 码 7、有如下程序,输入数据:12345M678cR后(表示回车),x 的值是 ( ) 。 #include main() int x; float y; scanf(“%3d%f“, A、 12345 B、 123 C、 45 D、 345 8、若有以下定义 int a,b; float x,则正确的赋值语句是 ( ) A、 a=1,b=2 B、 b+; C、 a=b=5 D、 b=int(x); 9、以下程序的执行结果是 ( ) #include int i=10,j=10; printf(“%d,%dn“,+i,j-); A、 11,10 B、 9,10 C、 11,9 D、 10,9 10、巳知字母 A 的 ASCII 码是 65,以下程序的执行结果是 ( ) #include main() char c1=A,c2=Y; printf(“%d,%dn“,c1,c2); A、 A,Y B、 65,65 C、 65,90 D、 65,89 11、下列运算符中优先级最高的是 ( ) A、 B、 十 C、 % D、 ! 12、设 x、y 和 z 是 int 型变量,且 x3,y4,z5,则下面表达式中值为 0 是 ( ) 。 A、 x while(numb!= c 的值是 _ 4、下列程序运行后的输出结果是 _ #include main() int i,j; for(i=4;i=1;i-) printf(“* “); for(j=1;j main( ) int a,s,n,count; a=2;s=0;n=1;count=1; while(countmain() int a=33=1,3,5,7,9,11,13,15,17,sum=0,i,j; for (i=0;i main() float c,f; printf(“input c:“); .2 分 scanf(“%f“, .2 分 f= (c+32.0)*9.0/5.0; .2 分 printf(“F=%.2f n “,f); .2 分 2、#include main() int x; scanf(“%d“, .2 分 if(x%5=0.2 分 else printf(“no“);.2 分 3、 # include # include main() int m,i,k; scanf(“%dn“, k=sqrt(m); .2 分 for(i=2;ik)printf(“m is a prime number!n“);.2 分 4、 # include main() int i,j,a15,t; printf(“input 15 numbers:n“); for(i=0;iai+1) t=a;a=ai+1;ai+1=t; .2 分for(i=0;ib)后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 10、在以下一组运算符中,优先级最低的运算符是( D )。 A. * B. != C. + D. = 11、设整型变量 i 值为 2,表达式(+i)+(+i)+(+i)的结果是( B )。 A. 6 B. 12 C. 15 D. 表达式出错 12、若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5 13、sizeof (double)的结果值是( A )。 A. 8 B. 4 C. 2 D. 出错 14、设 a=1,b=2,c=3,d=4,则表达式:a10 后 c2 中的值是( A )。 A. D B. 68 C. 不确定的值 D. C 19、以下用户标识符中,合法的是( B )。 A. int B. nit C. 123 D. a+b 20、C 语言中,要求运算对象只能为整数的运算符是( A )。 A. % B. / C. D. * 21、若有说明语句:char c=72;则变量 c 在内存占用的字节数是( A )。 A. 1 B. 2 C. 3 D. 4 22、字符串“ABC“在内存占用的字节数是( B )。 A. 3 B. 4 C. 6 D. 8 23、要为字符型变量 a 赋初值,下列语句中哪一个是正确的( B )。 A. char a=“3“; B. char a=3; C. char a=%; D. char a=*; 24、下列不正确的转义字符是( C )。 A. B. C. 074 D. 0 二、填空题:1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。 2、若 x 和 n 都是 int 型变量,且 x 的初值为 12,n 的初值为 5,则计算表达式 x%=(n%=2) 后 x 的值为 0 。 3、设 c=w,a=1,b=2,d=-5, 则表达式 x+1c, y!=c+2, -a-5*bmain()float array5=0.0; /第 A 行int i;for(i=0;ivoid main()printf(“%dn”,NULL);3、以下程序的输出结果是(B)A、5,2,3 B、-5,-12,-7 C、-5,-12,-17 D、5,-2,-7#includevoid sub(int x,int y,int *z)*z=y-x;void main()int a,b,c;sub(10,5, sub(7,a, sub(a,b,printf(“%d,%d,%dn”,a,b,c);4、以下程序的输出结果是(C)A、4 B、6 C、8 D、10#includevoid main()int k=2,m=4,n=6;int *pk=*(p=printf(“%dn”,n);6、已知指针 p 的指向(图一)的 a1,则表达式*+p 的值是(B)。A、20 B、30 C、21 D、317、已知指针 p 的指向(图一)的 a1,则表达式+*p 的值是(C)。A、20 B、30 C、21 D、318、以下程序的输出结果是(D)。A、23 B、24 C、25 D、26#includevoid prtv(int *x)printf(“%dn”,+*x);void main() int a=25;prtv(9、以下程序的输出结果是(B)。A、运行出错 B、100 C、a 的地址 D、b 的地址#includevoid main()int *k,*a,b=100;a=k=printf(“%dn”,*k); 二、填空题1、若有定义:char ch;(1)使指针 p 指向变量 ch 的定义语句是 char *p= 。(2)若已定义 char *p;,使指针 p 指向变量 ch 的赋值语句是 p= 。(3)在(1)的基础上,通过指针 p 给变量 ch 读入字符的 scanf 调用语句是 scanf(“%c”,p); 。(4)在(1)的基础上,通过指针 p 给变量 ch 赋字符a的语句是*p=a; 。(5)在(1)的基础上,通过指针 p 用格式输出函数输出 ch 中字符的语句是 printf(“%c”,*p); 。2、以下程序输出的是 C 。 void main( ) int i=3, j=2;char *a=“;printf(“%c%cn“,ai,aj);3、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。void exchange(int *x, int *y) int t;t=*y; *y= *x ; *x= t ;第十一章 结构体与共用体 一、选择题1、设有如下定义: struct skint a;float b;data,*p; 若有 p=,则对 data 中的 a 域的正确引用是(B)。A)(*p).data.a B)(*p).a C)p-data.a D)p.data.a2、根据以下定义,能输出字母 M 的语句是(D)。A、printf(“%cn”,class3.name); B、printf(“%cn”,class3.name1); C、printf(“%cn”,class2.name1); D、printf(“%cn”,class2.name0); struct personchar name9;int age;struct person class10=“John”,17,”Paul”,19,”Mary”,18,”Adam”,16,;3、以下程序的输出结果是(D)。A、0 B、1 C、3 D、6#includevoid main()struct emplxint x;int y;enum2=1,3,2,7;printf(“%dn”,enum0.y/enum0.x*enum1.x);4、若有以下说明及语句,则值为 6 的表达式是(D)。A、p+-n B、p-n+ C、(*p).n+ D、+p-nstruct stint n;struct st *next;struct st a3,*p;a0.n=5;a0.next=a1.n=7;a1.next=a2.n=9;a2.next=0;p=5、已知字符 0 的 ASCII 码的十进制的值是 48,且数组的第 0 个元素在低位,以下程序的 输出结果是(B)。A、39 B、9 C、38 D、8void main()unionint i2;long k;char c4;r,*s=s-i0=0x39;s-i1=0x38;printf(“%xn”,s-c
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号