C语言考试试卷.doc_第1页
C语言考试试卷.doc_第2页
C语言考试试卷.doc_第3页
C语言考试试卷.doc_第4页
C语言考试试卷.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

2010年C语言考卷详解B场:单选题:1、C 语言程序中可以对程序进行注释,注释部分必须用符号_C_括起来A 和 B 和 C /* 和 */ D */ 和 /*2、设要定义n为整型变量,定义x为浮点型变量,正确的语句是:_D_ A int n, float x, B int n, float x; C int n; float x, D int n; float x;3、设有int n; 从键盘上输入整数给变量n,正确的语句是:_D_ A scanf(n) B scanf(“n”) C scanf(“%d”,n) D scanf(“%d”,&n)4、程序段 int x=3, y=2; printf(%d, x*=y+8/5);的输出结果为_D_ A 1 B 5 C 7 D 95、要判断char型变量m是否是数字,可以使用表达式_B_。A 0=m & m=0 & m=9 C “0”=m & m=“9” D 0=m b) a=b;if(ac) a=c;A 1 B 2 C 3 D 不确定7、下面的for 语句执行时,_B_将形成无限循环。A for(s=j=0; j100; j+=1) s+=j ; B for(s=j=0; j100; j+1) s+=j ;C for(s=j=0; j100; +j) s+=j -1; D for(s=j=0; j100; j+) s+=j ;8、循环语句中,break的作用是_C_A 终止程序运行 B 结束本次循环 C 从本循环体内跳出 D 跳出子函数9、以下正确的语句是_D_A int a14=1,2,3,4,5; B float x3 =1,2,3;C long b23=1,1,2,1,2,3; D double y 3=0;10、执行以下程序段后,m的值是_C_int a=2,1,3,5,4; int m=10,k,*ptr=a; for(k=0;kdata; _B_A p-next-data = p-data; p-data =t; B p-data = p- next-data; p-next-data =t; C p-data =t; p-next-data = p-data; D p-next-data= t; p- data = p-next-data;程序填空题1、程序运行时,输入整数n(0n10)后,输出一个数字金字塔。如输入4,则输出: 1 222 33333 4444444源程序:#include void main() int i,j,n; scanf(%d, &n); for(i=1; _1_;i+) 【 i=n 】 for(j=1;j=n+1-i;j+) putchar( ); /* 输出空格 */ for(j=1;j=_2_;j+) 【 2*i-1 】 printf(%d,i); printf(_3_); 【 n 】 getchar(); /*暂停程序,按任意键继续*/2、输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。运行示例:输入字符串: ABCabc23+45#各类字符个数:letter=6, digit=4, other=2源程序:#include void main( ) int digit, letter, other; char _1_; 【 ch 】 digit = letter = 0; other = _2_; 【 0 】 printf(输入字符串: ); while( (ch = getchar()!= n) if(ch = a & ch =A & = 0 & ch = 9) digit +; else _4_; 【 other+ 】【 other=other+1 】【 other+=1 】 printf(各类字符个数:n ); printf(letter=%d,digit=%d,other=%dn,letter,digit,other); getchar(); /*暂停程序,按任意键继续*/ 3、输入一个整数,逆序后输出。函数reverse(int number)的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。运行示例:输入整数: -1230逆序后: -321源程序:#include int reverse(int);void main( ) int in; _1_; 【 int m 】【 int m=0 】 printf(输入整数:); scanf(%d, &in); m = _2_; 【 reverse (in) 】 printf(逆序后:%dn,m); getchar(); /*暂停程序,按任意键继续*/int reverse(int number) _3_; 【 int flag 】【 int flag=0 】 int res=0; flag = number 0 ? -1 : 1; /* flag标志正负数 */ if(number 0) number = - number; while(number != 0) res = res*10 + number%10; _4_; 【 number/= 10 】【 number=number/10 】 return _5_*res; 【 flag 】C场:单选题:1、关于C程序的主函数,以下描述中正确的是:_D_ A C程序语言的第一个函数称为主函数,程序从该函数开始运行B C程序可以有多个主函数,程序从第一个主函数开始运行 C C程序可以没有主函数,程序从第一个函数开始运行 D C程序的主函数即是main函数,程序从该函数开始运行2、字符变量a与b分别初始为S与B,正确的语句是:_D_ A char a,b=S ,B; B char a=S, char b=B; C char a=S, b=”B”; D char a=S, b=B ;3、设有int n2010; 要求屏幕上显示“n=2010”结果,正确的语句是:_D_A printf ( n ); B printf (“n”, n ); C printf ( “n=”,”%d”,n ); D printf(“n=%d”,n)4、设有变量定义:int a=5, b=8;当执行完语句:b= ab ? a: b - 1; 之后,变量 a和 b的值为 _A_A 5和5 B 5和 7 C 5和 8 D 5和95、设int n; 判断“n不为0”的表达式是:_D_A n=0 B !(n=0) C n=!0 D n !=06、若有定义: float w; int num; char s; 则合法的switch语句是_C_A switch(w) case1.0:printf (“*n”); case2.0: printf (“*n”); B switch(num); case1 printf (“*n”); case2 printf (“*n”); C switch(s) casea: printf(“*n”);caseb:printf(“*n”); default: printf (“n”); D switch(num+1) case 1: printf(“*n”);case 1 :printf(“*n”); default: printf (“n”); 7、以下语句中,循环次数不为10次的语句是_A_A for (i=1;i10;i+) ; B i=1; doi+;while(i0) -I; D for(i=10;i=1;i-);8、用于for循环体中的continue语句的作用是_C_A 终止程序运行 B 终止循环继续 C 结束本次循环 D 重新执行循环9、若要定义一个int型二维数组a,并使其各元素具有初值: 2 3 0 0 4 0 5 0 0 0 0 0 则正确的定义语句是_B_A int a =2,3,0,0,4,0,5,0,0,0,0,0,0; B int a4=2,3,0,0,4,0,5,0,0,0,0,0; C int a34=2,34,5; D int a=2,3,0,0,4,0,5,0,0,0,0,0;10、设有语句:int x=0,1,2,3,4,5,6,7,8,9, *p=x+5; while(*p+next; p-next=q-next; free(q);B q=p-next; free(q); p-next=p-next-next;C p- next=p-next-next; q=p-next;free(q);D p- next=q-next; q=p-next; free(q );程序填空题1、程序运行时,输入整数n(0n10)后,输出一个字符金字塔。如输入4,则输出: A ABC ABCDE ABCDEFG源程序:#include void main() int k,j,n; scanf(%d, _1_); 【 &n 】 for(k=1;k=n; _2_) 【 k+ 】【 k=k+1 】【 k+=1 】 for(j=1;j=n+1-k;j+) putchar( );/* 输出空格 */ for(j=1;j=2*k-1;j+) printf(%c,_3_); 【 A+j-1 】 printf(n); getchar(); /*程序暂停,按任意键继续 */2、输入一个长度小于80的字符串,将字符串中所有小写字母转换为相应的大写字母,大写字母转换为相应的小写字母,其它字符不变,最后输出该字符串。运行示例 输入字符串:abc+ABC=? 转换后的字符串:ABC+abc=?源程序: #include #include void main() int n; _1_; 【 int i 】 char str80; printf(输入字符串: ); gets(_2_); 【 str 】 n= strlen(str); for(i=0; _3_;i+) 【 i=a& stri=A& stri=Z) stri=stri+32; printf(转换后的字符串: ); puts(str); getchar(); /*程序暂停,按任意键继续 */ _3、输入学生成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成绩为0100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。函数getmax(array,n)功能是,在有n个元素的一维数组array中找出最大值并返回。运行示例:输入成绩: 90 80 77 65 -1Max = 90源程序:#include #define MAXNUM 50int getmax(int array,int n) int k, max; max = _1_; 【 array0 】 for (k = 1; k n; k+) if (max arrayk) max = arrayk; return _2_; 【 max 】void main( ) int k, x; int markMAXNUM; printf(输入成绩:); k = 0; scanf(%d, &x); while(k =0 & x 0) printf(Max = %dn, _5_);/* 输出最高分 */ 【 getmax(mark,k) 】 else printf(No marks!n); getchar(); /*程序暂停,按任意键继续 */D场:单选题:1、C程序是由_D_组成的。A 子程序 B 过程 C 子函数 D 主函数和子函数2、若有定义语句:char c=n; 则变量c _C_。A 包含4个字符 B 包含2个字符 C包含1个字符 D 说明不合法,c值不确定3、设有float x=1.25; int n=x; 则语句printf(%.2f,%dn,x,n);的输出是:_D_A 1.25,1.25 B 1,1 C 1 ,1.25 D 1.25 ,14、设有float x=1.25; int n=x; 则语句printf(%.2f,%dn,x,n);的输出是:_A_A G B H C I D J5、设有int n; 则判断“n为二位数(10至99)”的表达式是:_D_ 。A 10=n=99 B 10=n | | n=99 C 10=n, n=99 D 10=n & n0) printf (“abn”) ; C if(x0 & x10) y=x*x-1.5; D if(x) y+=1;7、设:int i,n ;float sum; 则求调和级数s=1+1/2+1/3+.前n项之和的正确循环语句是_D_A for (i=1;i=n;i+) sum+=i / 1 B for(i=1;sum=0.0; i=n; i + ) sum+= 1/i ;C for(i=1;sum=0.0; i=n; i + ) sum+=(float)(1/i) D for(i=1;sum=0.0; iscore的结果是:_B_A 101 B 91.5 C 102 D 92.514、设有定义FILE *fp;将整数n以文本方式写到fp文件的语句:_B_A fp = fopen (“ file.txt” , ” w” ) ; B fprintf ( fp, “%d”, n );C fwrite (n, sizeof (int), 1, fp ) ; D fclose ( fp ) ;15、假定建立了如下图所示的链表结构,指针p指向如图所示的结点,则将r所指结点直接插入p所指结点后的语句是:_C_。A r - data = p - data; pdata = r; B p-data= r ; r-next=p-next ; C r - next = p - next ; p-next= r; D p-next= r ; r-next=p-next;程序填空题1、程序运行时输出如图所示的字符倒三角形。 abcdefg abcde abc a源程序:#include void main()int i,j; char k; for(i=1;i=4;i+) for(j=1; _1_;j+) 【 j0 】 printf(%c,_3_); 【 k 】 k+; putchar(n); getchar(); /*暂停程序,按任意键继续*/2、输入一个长度小于40的字符串到数组s,并复制

温馨提示

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

评论

0/150

提交评论