IT认证9月计算机等考二级C语言冲刺题及答案集锦_第1页
IT认证9月计算机等考二级C语言冲刺题及答案集锦_第2页
IT认证9月计算机等考二级C语言冲刺题及答案集锦_第3页
IT认证9月计算机等考二级C语言冲刺题及答案集锦_第4页
IT认证9月计算机等考二级C语言冲刺题及答案集锦_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2011年9月计算机等考二级C语言冲刺试题及答案1、选择题1. 一个C语言程序是由()构成。A. 语句B. 行号C. 数据D. 函数2. 下面标识符中正确的是 ( ) 。A. a#bcB. 123ABCC. simeD. Y M-D3. 在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是()。)。)。)。A. 2、 1、 8B. 4、 1、 4C. 4、 1、 4D. 2、 2、 84. 为了避免嵌套的条件分支语句if-else中的 else 总是与 ( ) 组成成对关系。A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的 ifD. 在同一行上的 if5. 下列

2、表达式的结果正确的是 ( ) 。int a , b, c , d;a=b=c=d=2;d=a+1=3?b=a+2: a+3A.2 B.4 C.3 D.5二、填空题1. 在 C 语 言 中 , 正 确 的 标 识 符 是 由 组 成 的 , 且 由开头的。2. 设x=3,那么表达式y=(+x)+(+x)的结果为,表达式执行后,变量x的结果为 。3. 一 个 变 量 的 指 针 是 指4. 组成数组元素的特点是 ;组成结构体元素的特点是 。5. 在 C 语言程序中, 对文件进行操作首先要 ; 然后对文件进行操作, 最后要对文件实行 操作, 防止文件中信息的丢失。6. 对 字 符 串进行操作的函数有

3、等。7. C 语 言 程 序 是 由 构 成 的 ,而C 语 言 的 函 数 是 由构成的。8. 要想定义整型变量 a , 实型变量b , 字符型的变量c,应该使用的正确语句为9. 写出下面表达式的值3*5/7+7%3 x=2 ; y=4; (x+)+y 3+4>=7-103>4 ? 3%2: 1 x=2,y=2;+x&&+yx=3x+=x-=2三、判断题1. C 语言的一个特点是可以对计算机硬件进行操作 ( )2. 在循环过程中,使用 break 语句和 continue 语句的作用是一样的 ( )3. 在函数的定义和调用过程中,形式参数和实在参数数目可以不一致

4、( )4. 指针变量可以接收任何类型的值 ( )5. 在C语言程序设计中,字符数组和字符串不是完全一样的概念()6. 文件指针是结构体类型,用符号 file 来表示 ( )7. 选择结构 (if 语句)和循环结构都可以使用嵌套形式 ( )8. 在定义二维数组时,可以将该数组的两个维数全部省略 ( )9. 逻辑运算符 && | ! 的运算顺序是 ! 优先于 && 优先于 | ( )10. 任何数组都可以实现整体使用操作 ( )四、程序填空题(段)1. 下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序 完整。main() int i , j ,

5、k;for(i=1; i+) for(j=1; j+)printf( “%d*%d=%”d,);printf();2. 自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:int max(x,y) int x , y ;3. 设有如下面的结构体,请用 C 语言的语句定义出正确的结构体形式: 学生信息:包括 ( 姓名,性别,年龄,分数 ) ,并且定义变量 stud 和数组 stud130 struct student4. 根据给出的程序段,请写出正确的结果x=1 ; sum=1 ;for (x=1 ; x<=5 ; x+)sum=sum*x;上面的程序段实现的J功能是其丿、

6、运行结果为5. 设有如下的语句。int a=43 , b,c;b=23;c=a+ * -b;(1) 上面的语句段执行后 a= b= c= ; 简述a+和+a的相同点和不同点:6. 设有如下的程序:main( ) int i=3,*p1;int a3=15,30,45,*p2;p1=&i; p2=a;p1=p2+2;printf( “ %d,%d n” ,*p1,*p2);程序运行结果是: 。五、编程题 (25 分 )1. 编程实现对 10个整数进行冒泡排序 ( 要求排成升序 )。中去2. 编程实现求下面的式子的结果3. 编程实现将文本文件 file1.dat 中的内容复制到文本文件 f

7、ile2.dat六、附加题用C语言程序实现在已知链表中的第三个位置插入数值为a的程序参考答案一、选择题1. D 2. C 3. A 4. C 5. B二、填空题1. 字母、数字、下划线 ; 以字母、下划线开头。2.10;5 。3. 该变量的地址。4. 一组数据类型相同的元素构成的 ;一组数据类型不同的元素构成的。5. 打开 ;关闭。6. 字符串长度、取子字符串、字符串替换、字符串复制等。7. 函数 ; 语句。8. int a ; float b ; char c ;9 9 9.3 6 1 1 1 2三、判断题1. 对 2. 错 3. 错 4. 错 5. 对6. 错 7. 对 8. 错 9. 对

8、 10. 错四、程序填空题1. i<=9 j<=9printf( “ %d*%d=%”d,i,j,i*j);printf( “ n”); i , j , k;2. int z;if (x>=y) z=x;else z=y;return z;3. char name20;char sex;int age;float score;4. 实现功能:计算连续数之积, 即 sum=1*2*3*4*5 ;运行结果: sum=1205. 44 22 946a+:先加1,后使用表达式的值;+a表示先加1,后使用表达式的值,它们最后的结果 使 a 加1。6.45,15五、编程题1. 编程实现对

9、 12个整数进行冒泡排序 (要求排成升序 )。Main() int a12; int m,n,p;for (m=0;m<=11;m+)(m=0;m<=11;m+)scanf( “ %d” ,&am);for (m=0;m<=11;m+)for(n=0;n<11-m;n+)if(an>an+1) p=an; an=an+1; an+1=p; for (m=0;m<=11;m+)printf( “ %d” ,am); 2. 编程实现求下面的式子的结果# include “math.h ”main() float x,y;scanf( “ %f” &

10、;x);if (x>6) y=(x-3)/(2*x-12);else y=-2*x*x+4*x-10;中去printf( “y=%f”,y); 3. 编程实现将文本文件 file1.dat 中的内容复制到文本文件 file2.dat main() char ch;FILE *fp1,*fp2;Fp1=fopen( “ file1.dat ” , “ r ” );Fp2=fopen( “ file2.dat ” , “ w” );While(ch!=EOF) fputc(ch,fp2);Ch=fgetc(fp1); Fclose(fp1);Fclose(fp2); 六、附加题p=H;K=0

11、;While(p!=NULL && k< p> p=p->next;k+; if(p=NULL && H!=NULL) printf(“ this is invilid”);else q=(Struct Linklist *)malloc(sizeof(Struct Linklist);q->data=x; q->data=x;q->next=p->next;p->next=q; 2011年9月计算机等考二级C 语言冲刺试题及答案 2一、选择题1. 一个C语言程序是由()构成。A. 语句B. 行号C. 数据D. 函

12、数2. 下面标识符中正确的是 ( ) 。A.d&efB.6aC.z4x5cD.a3/b43. 在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是 () 。A. 1、 2、 4B. 1、 1、 4C. 1、 2、 8D. 2、 2、 84. 为了避免嵌套的条件分支语句if-else中的 else 总是与 ( ) 组成成对关系。A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的 ifD. 在同一行上的 if5. 下列表达式的结果正确的是 ( ) 。int aa , bb, cc , dd;aa=bb=cc=dd=1;sp;

13、aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1=2)?bb=aa+2 : aa+3A. 2B. 3C. 1D. 56. 设有 int x=11 ;则表达式 (x+1/3) 的值是( ) 。A. 3B. 4C. 11D. 127. 设有字符串 A=“He has 钱! ”,则该字符串的长度为 ( ) 。A. 9B. 10C. 11D. 88. 有如下程序段 ,则正确的执行结果是 ( )int m=3;while(m<=5) printf( “%d ”,m -3); m+;A. 0 0 0B. 0 1 2C. 1 2 3D. 无结果9. 执行语句 :printf(

14、"%d" ,(a=2)&&(b= -2); 后,输出结果是 ( ) 。A. 无输出B. 结果不确定C. -1D. 110. 有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )int x; char y; char z20;A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s

15、",&x,&y,z);11. struct ex int x ; float y; char z ; example; 则下面的叙述中不正确的是 ( ) 。A. struct 结构体类型的关键字B. example 是结构体类型名C. x,y,z 都是结构体成员名D. struct ex 是结构体类型12. 在C语言中对于实型数组,其每个数组元素的类型是()。A. 实型B. 整型C. 可以为任何类型D. 不确定13. 若已定义: int a9, *p=a; 不能表示 a1 地址的表达式是 ( )A. p+1B. a+1C. a+D. +p14. 在TC2.0环境中,对

16、文件进行保存使用的命令是()。A. OPENB. SAVEC. LOADD. WRITE TO15. 在C+勺类中,用于表示公共类型的关键字是()。A. classB. privateC. protectD. public二、填空题1. 在 C 语言中,正确的标识符是由 组成的,且由 开头的。2. 设p=30,那么执行q=(+p)后,表达式的结果q为,变量p的结果为 。若a为int类型,且其值为3,则执行完表达式 a+=a-=a*a后,a的值是。3. 一个变量的指针是指 。4. 在 C 语言程序中, 对文件进行操作首先要 ; 然后对文件进行操作,最后要对文件实行 操作,防止文件中信息的丢失。5

17、. 以下程序运行后的输出结果是 。该程序的功能是 。main() int x=10,y=20 ,t=0;if(x!=y) t=x; x=y; y=t;printf("%d,%dn",x,y); 6. 若 fp 已正确定义为一个文件指针, d1.dat 为二进制文件,请填空,以便为"读" 而打开此文件: fp=fopen( );。7. 有以下程序,当输入的数值为 2,3,4 时,输出结果为 。main() int x,y,z;cout << “please input three number ”;cin >>x>>y&

18、gt;>z;sum=x*x+y*2+z;cout<< “sum of number is : ”<8. 有以下程序main() char c;while(c=getchar()!='?') putchar( - - c ); 语句是语句的区别程序运行时,如果从键盘输入:YDG?N?回车 >,则输出结果为 9. 在循环中 ,continue 语句与 break 语句的区别是 :continue是:continue 语句是 ,break 是。三、程序填空与算法题1. 下面程序是计算 10 个整数中奇数的和及其偶数的和,请填空。#includemain(

19、) int a,b,c,i;a=c=0;for(i=1;i<=10;i+) scanf( “%d”,&b);canf( “%d”,&b); printf("偶数的和 =%dn",a);printf("奇数的和 =%dn",c); 2. 编写一个自定义函数,实现求两个实数的平方和3. 以下程序运行后的输出结果是 。main() char s ="GFEDCBA"int p=6;while(sp!= D') printf("%c ", p);p=p-1; 4. 定义一个反映学生信息的结构体

20、,包括学生的姓名,性别,年龄,成绩等。5. 以下程序输出的结果是 。int ff(int n) static int f=l;f=f*n;return f; main() int i;for(i=1;i<=5;i+) printf("%dn",ff(i); 6. 设有以下程序 :main() int n1,n2;scanf("%d",&n2);while(n2!=0) n1=n2;n2=n2/10;printf("%d ",n1); 程序运行后,如果从键盘上输入 1298; 则输出结果为 。7. 下面程序的功能是: 输出

21、 100以内(不包含100)能被 3整除且个位数为 6的所有整数, 请填空。#Includemain()for(i=1; i+)if ()prin tf("%d", j); 8. 现有一个单链表 Head,如下图所示,如果要在元素B和D之间插入一个字符型元素G所需要的语句为:(如果用到指针,在图中标出指针的位置)Head>A'»f .ZA四、编程题1. 编程实现求解下面的式子的结果s=i*2+2*3+3*4+ +20*212. 编程实现求下面的式子的结果3. 编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。参考答案一、选择题I. D

22、2. C 3. A 4. C 5. B6. C 7. B 8. B 9. D 10. DII. B 12. A 13. C 14. B 15. D二、填空题1.字母、数字、下划线;以字母、下划线开头。2.4,4 -123. 该变量的地址。4. 打开;关闭。5.20,10 变量的交换6. “d1.dat ” ,“rb ”7. sum of nu mber is :148. xcf 9 9 99. 结束本次循环,进入下一次循环 ; 结束循环。三、程序填空与阅读程序题 ( 参考答案 )1. if (b%2=0) a=a+b else c=c+b2. float sum(float x,float y

23、) return x*x+y*y; 3. A B C4. struct studentchar name10;char sex;int age;float score; 5. 1 2 6 24 1206.8 9 2 17.i<100 if(i%3=0 && i=6)8.P->NEXT=Q->NEXT; P->NEXT=NEW;四、编程题1. 参考答案main() int m,n,sum=0;for (m=1;m<=20;m+)sum=sum+m*(m+1);printf( “ %s” ,sum);2. 参考答案# include “math.h ”

24、main() float x,y;scanf( “ %f” &x);if (x>6)y=(x-3)/(2*x-12);elsey=-2*x*x+4*x-10;printf( “y=%f”,y); 3.main() char ch;FILE *fp1,*fp2;fp1=fopen( “ file1.dat ” , “ r ” ); fp2=fopen( “ file2.dat ” , “ r ” ); fp3=fopen( “ file3.dat ” , “ w” ); Ch=fgetc(fp1);While(ch!=EOF) fputc(ch,fp3); fputc(ch,fp3

25、);Ch=fgetc(fp1); Ch=fgetc(fp2);While(ch!=EOF) fputc(ch,fp3); fputc(ch,fp3);Ch=fgetc(fp2); Fclose(fp1);Fclose(fp2);Fclose(fp3);2011年9月计算机等考二级 C 语言冲刺试题及答案 3一、 单项选择题 ( 共30分,每题 1分)1. 下列不正确的转义字符是 ( )A. C.074D.02. 不是C语言提供的合法关键字是()A. switchB. cherC. caseD. default3. 正确的标识符是 ( )A. ?aB. a=2C. a.3D. a_34. 下列字

26、符中属于键盘符号的是 ( )A. B. nC. tD. b5. 下列数据中属于“字符串常量”的是 ( )A. ABCB. “ABC”C. ABC'D. A'6. char 型常量在内存中存放的是 ( )A. ASCII 码B. BCD 码C. 内码值D. 十进制代码值7. 设 a 为 5,执行下列语句后, b 的值不为 2的是 ( )A. b=a/2B. b=6-(-a)C. b=a%2D. b=a>3?2:28. 在以下一组运算符中,优先级最高的运算符是 ( )A. <=B. =C. %D. &&9. 设整型变量 i 的值为 3,则计算表达式 i-

27、i后表达式的值是 ()A. 0B. 1C. 2D. 表达式出错10. 设整型变量a,b,c 均为2,表达式a+b+c+的结果是()A. 6B. 9C. 8D. 表达式出错11. 若已定义x和y为double类型,则表达式 x=1,y=x+3/2的值是()A. 1B. 2C. 2.0D. 2.512. 设 a=1,b=2,c=3,d=4, 则表达式: a< p>A. 4B. 3C. 2D. 113. 设a为整型变量,不能正确表达数学关系:10< p>A. 10< p>B. a= =11 | a= =12 | a= =13 | a= =14C. a>10&

28、amp;&a<15D. !(a<=10)&&!(a>=15)14. 若有以下定义: char a 、 int b 、 float c 、 double d ,则表达式 a*b+d-c 值 的类型为 ()A. floatB. intC.charD.double15. 表达式“ 10!=9”的值是 ( )A. trueB. 非零值C. 0D. 116. 循环语句 for (x=0,y=0; (y!=123)| (x<4);x+); 的循环执行 ( )A. 无限次B. 不确定次C. 4次D. 3次17. 在C语言中,下列说法中正确的是()A. 不能使用

29、“ do while ”的循环B. “do while ”的循环必须使用 break 语句退出循环C. “do while ”的循环中,当条件为非0时将结束循环D. “do while ”的循环中,当条件为0时将结束循环。18. 设 a,b 为字符型变量,执行 scanf( “ a=%c,b=% ”,&a,&b)后使 a 为A', b 为'B', 从键盘上的正确输入是 ( )A. 'A' B'B. 'A', 'B'C. A=A,B=BD. a=A,b=B19. 设 i,j,k 均为 int 型变量,

30、执行完下面的 for 循环后, k 的值为 ( )for (i=0,j=10;i<=j;i+,j-)k=i+j;A. 10B. 9C. 8D. 7的输出是20. 设有定义: char s12= “string ” ; 则 printf ( “%d n”,strlen(s); ( )A. 6B. 7C. 11D. 1221. 合法的数组定义是 ()A. int a= “ string ” ;B. int a5=0,1,2,3,4,5;C. char a= “ string ” ;D. char a=0,1,2,3,4,522. 函数调用 strcat(strcpy(str1,str2),s

31、tr3)的功能是()A. 将字符串str2 复制到字符串str1B. 将字符串str1 复制到字符串str2C. 将字符串str1 复制到字符串str2D. 将字符串str2 连接到字符串str1中后再将字符串 str3中后再连接到字符串中后再复制到字符串中后再将字符串 str123. 设有如下定义,则正确的叙述为 ( )连接到字符串 str1str3 之后str3 之后复制到字符串 str3之后char x= “abcdefg ”;char y= a','b','c','d','e','f','g

32、'A. 数组 x 和数组 y 等价B. 数组 x 和数组 y 的长度相同C. 数组x的长度大于数组 y的长度D.数组x的长度小于数组y的长度n 的值是 ()的值是( )24. 设有单精度变量f ,其值为13.8。执行语句“ n=(int)f)%3;”后,A. 4B. 1C. 4.333333D. 4.625. 执行语句“ f=(3.0,4.0,5.0),(2.0,1.0,0.0); ”后,单精度变量A. 3.0B. 5.0C. 2.0D. 0.026. 设a、b均为整型变量,下列表达式中不是赋值表达式的是 ()A. a=3,4,5B. a=3*2C. a=a&&bD.

33、a=b=427. 表达式“ 1?(0?3:2): (10?1:0)”的值为 ( )A. 3B. 2C. 1D. 028. sizeof(double)的结果值是 ( )A.8B. 4C. 2D. 出错29. 指出下面正确的输入语句是 ( )A.scanf (“ a=b=%d” ,&a,&b);B.scanf(“ a=%d,b=%”f ,&m,&f);C.scanf(“ %3c” ,c);D.scanf(“ %5.2f,&f);30. 若有以下定义和语句,且 0<=i<5, 则( ) 是对数组元素地址的正确表示 int a=1,2,3,4,5,

34、*p,i;p=a;A.&(a+i)B.&pC. a+D. &pi、 填空 (20 分,每空 1分)1. 在内存中存储“ A”要占用()个字节,存储 A'要占用()字节。2. 符号常量的定义方法是 ( )4. 结构化程序设计方法规定程序或程序段的结构有三种:顺序结构、( ) 和 ( ) 。5.C 语言共提供了三种用于实现循环结构的流程控制语句,它们是( ) 、( ) 和 ( ) 。6.若在程序中用到“ putchar ”,应在程序开头写上包含命令( ) ,若在程序中用到3.能表述“ 20<x<30或x<-100”的C语言表达式是()。strlen

35、() ”函数时,应在程序开头写上包含命令 ( ) 。7. 设有定义语句“ static int a34=1,2,3”, 则 a11 值为( ), a21的值为 ( ) 。8. “ * ”称为 ( ) 运算符,“ &”称为 ( ) 运算符。9. 赋值表达式和赋值语句的区别在于有无 ( ) 号。10. 用 把一些语句括起来称为 ( ) 语句11. 设 a=12、b=24、c=36,对于"scanf ( “a=%d,b=%d,c=%”,&a,&b,&c);",输入形 式应为 ( )12. 表达式“ sqrt(s*(s -a)*(s-b)*(s-c)

36、; ”对应的数学式子为 ( )13. C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以()代表“真”三、 读程序 (30 分 )1. main() int a=10,b=4,c=3;if (aif (a printf(“%d,%d,%”d ,a,b,c);2. main( )int y=9;for (;y>0;y-)if (y%3= = 0) printf (“%d”,-y);continue;3. main() int x,y;for (y=1,x=1;y<=50;y+) if (x>=10) break;if (x%2= =1) x+=5;continue;x

37、-=3; printf (“%d” ,y);4. main() static int a3=9,7,5,3,1,2,4,6,8;int i,j,s1=0,s2=0; i,j,s1=0,s2=0;for (i=0;i<3;i+)for (j=0;j<3;j+) if (i= =j )s 仁s1+aij; if (i+j= =2) s2=s2+aij;printf (“dn”,s1,s2);5. mai n()'static char a=int i,j,k;for (i=0;i<5;i+)printf (“ n” );for (j=0;j< ( “ %c , &#

38、39; printf>for (k=0;k<5;k+) printf (“%c ,ak); 6. i nt fac(i nt n)static int f=1;f=f*n; return(f);mai n()int i;for (i=1;i<=5;i+)printf (“%d!=%d n” ,i,fac(i);四、编写程序(20分)1.编一个程序,输入X的值,按下列公式计算并输出Y的值2. 编程序按下列公式计算e的值(精度为1e-6)e=1+1/1!+1 /2!+1/3!+1/n!参考答案一、单项选择题(共30分,每题1分)1. C 2. B 3. D 4. A 5. B6.

39、 A 7. C 8. C 9. A 10. A11. C12. D 13.A 14.D 15.D16. C17. D 18.D 19.A 20.B21. D22. A 23.C 24.B 25.D26. D27. B 28.A 29.B 30.C二、填空(20分,每空1分)1.2 , 12. #defi ne符号常量常量3. (x>20 && x<30) | x<-1004. 分支结构,循环结果5. while do for6. #include “stdio.h ” # include“string.h7. a11=0 , a21=08. *指针运算符,&a

40、mp;地址运算符9. 分号;10. 复合语句11. a=12,b=24,c=3612* (s - a) s13.非0三、读程序(30分)1. 结果:10,4,32. 结果:8 5 23.64.18105. *6. 5!=120四、编写程序 (20 分 )1.Main()int x,y;scanf ( “ %d” ,&x);if (x<=1) y=x; (x<=1) y=x;else if (x>1&&x<10) y=2*x-1;else y=3*x-11;printf ( “ x=%d,y=%d n” ,x,y);bsp; 2. Main()fl

41、oat E;int n;s=0;E=1;2011年9月计算机等考二级 C 语言冲刺试题及答案 4、 单项选择题 ( 共 30分,每题 1分)i. 在pc机中, n在内存占用的字节数是()A. 1B. 2C. 3D. 42. 字符串“ ABC在内存占用的字节数是()A. 3B. 4C. 6D. 83. 在C语言中,合法的长整型常数是()A. 0LB. 4962710C. 0.054838743D. 2.1869 e104. 执行语句“ x=(a=3,b=a - ) ”后, x,a,b 的值依次是 ( )A. 3, 3, 2B. 3, 2, 2C. 3, 2, 3D. 2, 3, 25. 设有语句

42、 int a=3; ,则执行了语句 a+=a-=a*a 后,变量 a 的值是 ( )A. 3B. 0C. 9D. -126. 设 int k=32767;执行 k=k+1;后 k 值为()A. 32768B. -32768C. 0D. -17. 下列正确的标识符是 ( )A. hot_doB. a+bC. test!D. %y8. 设 int a=5, 使 b 不为 2的表达式是 ( )A. b=6-(-a)B. b=a%2C. b=a/2D. b=a>3?2:19. 执行 x=(6*7%8+9)/5;后,x 的值为()A. 1B. 2C. 3D. 410. 执行语句 x=(a=3,b=

43、a-) 后, x,a,b 的值依次为 ( )A. 3, 2, 3B. 2, 3, 2C. 3, 3, 2D. 3, 2, 211. 设 a=-3;执行(a>O)?a:-a;后,a 的值为()A. 3B. 1C. 0的值为 ( )D. -312. 设所有变量均为整型,则表达式 (a=2,b=5,b+,a+b)A. 7B. 8C. 9D. 213. 下面正确的字符常量是 ( )A. ”c”B. ' ''C. 'W'D. '14. 若有代数式 3ae/bc ,则不正确的 c 语言表达式是 ( )A. a/b/c*e*3B. 3*a*e/b/cC.

44、 3*a*e/b*cD. a*e/c/c*315. 在C语言中,要求运算数必须是整型的运算符是()A. /B. +C. !=D. %16. 若有说明语句: char c= '72' ; 则变量 c ( )A. 包含 1个字符B. 包含 2个字符C. 包含3个字符D. 说明不合法,c值不确定17. sizeof (float) 是 ( )A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D 一个不合法的表达式值的数据类型18. 设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+'a'+i*f 是 ( )A. intB. folatC.

45、 doubleD. 不确定19. 若有定义 int a10,*p=a; ,贝U p+5表示()A. 元素 a5 的地址B. 元素 a5 的值C. 元素 a6 的地址D. 元素 a6 的值20. 以下与 int *q5; 等价的定义语句是 ( )A. int q5;B. int * qC. int (q5)D. int (*q)521. 若有定义 int a5,*p=a; 则对 a 数组元素地址的正确引用是 ( )A. P+5B. *a+1C. &a+1D &a022. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别是 ( )A. autoB. staticC. exter

46、nD. register23. 若用数组名作为函数调用的实参,传递给形参的是( )A. 数组的首地址B. 数组第一个元素的值C. 数组中全部元素的值D . 数组元素的个数24. C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )A. floatB. intC. longD. double25. 以下对二维数组 a 的正确说明是 ( )A. int a3B. float a(3,4)C. double a14D. float a(3)(4)26. 若有说明int a34; 则对a数组元素的正确引用是(A )A. a24B. a1,3C. a1+10D. a(2)(2)26. 语句 w

47、hile(!E);中的表达式 !E 等价于 ( )A. E= =0B. E!=1C. E!=0D. E= =127. C 语言中 while 和 dowhile 循环的主要区别是 ( )A. do while 的循环体至少无条件执行一次B. While 的循环控制条件比 dowhile 的循环控制条件严格C. do while 允许从外部转到循环体内D. do while 循环体不能是复合语句28. 为了避免在嵌套的条件语句if else中产生二义性,C语言规定:else子句总与()配对A. 缩排位置相同的 ifB. 其之前最近的 ifC. 其之后最近的 ifD. 同一行上的 if29. 判断

48、 char 型变量 ch 是否为大写字母的正确表达式是 ( )A. ' A' <=ch<=' Z'B. (ch>= 'A')&(ch<='Z')C. (ch>='A')&&(ch<='Z'D. ( A'<=ch)AND (Z'>=ch)30. 以下能正确定义整型变量a、b、c 并为其赋初值 5的语句是 ( )A. int a=b=c=5;B. int a,c, c=5;C. a=5,b=5,c=5;D. a=b=

49、c=5;二、填空 (20分,每空 1分)1. C 语言中的实型变量分为两种类型,它们是 ( ) 和( ) 。2. C 语言中的标识符只能由三种字符组成,它们是 ( ) 、( ) 和( ) 。3. 若有定义: char c= ' 010' ; 则变量 c 中包含的字符个数是 ( ) 。4. C 语言提供的三种逻辑运算符是 ( ) 、( ) 、( ) 。5. 设y为int型变量,请写出描述“y是奇数”的表达式()。6. 设x,y,z均为int型变量,请写出描述“x 或y中有一个小于z”的表达式()。7. 在C语言中,二维数组元素在内存中的存放顺序是()。8. 若有定义: doubl

50、e x35; 则 x 数组中行下标的下限为 ( ) ,列小标的上限为 ( ) 。9. 若有定义: int a34=1, 2, 0 , 4 , 6, 8, 10; 则初始化后, a12 得到的初值是 ( ) , a22 得到的初值是 ( ) 。10. 若自定义函数要求返回一个值,则应在该函数体中有一条( )语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符 ( ) 。11. 函数中的形参和调用时的实参都是数组名时,传递方式为( ),都是变量时,传递方式为 ( ) 。三、读程序 (30 分 )1. main()c=a;int a=2,b=3,c;if (a>b) c=1;

51、else if (a= =b) c=0;else c=-1;printf ( “ %d n” ,c); 运行结果:2. main()int a=2,b=7,c=5;switch (a>0) case 1: swithch (b<0)case 1:printf( “ ” );break; case 2:printf( “ ! ” );break;case 0: switch (c= =5) case 0:printf(“* ”);break;case 1:printf( “ #” ),break; default:printf(“ #” );break;default:printf(

52、 “ &” ); 运行结果: printf ( “ n” );3. #includemain() int i;for (i=1;i<=5;i+)switch (i%5) case 0:printf(“* ”);break;case 1:prin tf( “ #” );break;default:printf( “ n” );case 2:printf ( “ &” ); 运行结果:4. main() int i,b,k=0;for (i=1;i<=5;i+)b=i%2;while (b->=0) k+; 运行结果:printf ( “ %d,%d” ,k,b)

53、;5. #includemain() char ch7=“12ab56”;int i,s=0;for (i=0;chi>='0'&&chi<= '9'i+=2)s=s*10+chi-0' 运行结果:printf ( “%dn”,s);6. main() int a=2,i;for (i=0;i<3;i+)printf ( “M”,f(a);f(int a) int b=0;static int c=3;b+;c+; 运行结果:return(a+b+c);四、编写程序 (20 分 )1. 从键盘输入的 10个整数中, 找出

54、第一个能被 7整除的数。 若找到, 打印此数后退出循 环 ; 若未找到,打印“ not exist ”。2. 已有变量定义和函数调用语句: int x=57;isprime(x); 函数 isprime() 用来判断一 个整数 a 是否是素数,若是素数,函数返回 1,否则返回 0。请编写 isprime 函数。insprime( int a); 参考答案一、单项选择题 ( 共30分,每题 1分)1. A.2.B.3.A 4. C 5. D6. B 7. A 8. B 9. B 10. A11. D 12. A 13. C 14. C 15. D16. A 17. B 18. C 19. A 20. D21. D 22. A 23. A 24. B 25. C26. A 27. A 28. B 29. C 30. A二、填空 (20 分,每空 1分 )1. 单精度,双精度2. 数字、下划线、英文字母3. 1 个4. 与&&、或| 、非 !5. y%2!=06. x7.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论