大一c语言考试试题.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流大一c语言考试试题.精品文档.一、单项选择题(每小题2分,共50分)1、一个C程序的执行是从_A_。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束2、C语言程序的基本单位是_C_。A、程序行 B、语句C、函数 D、字符3、请选出可用作C语言用户标识符的一组标识符_B_。 A、void B、a3_b3 C、For D、2a define _123 -abc DO WORD IF ase sizeof4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是_C_ 。 A、4.500000 B、4 C、4.000000 D、2.0000005、下列可以正确表示字符型常量的是_D_。 A、297 B、"a" C、"n" D、't'6、在C语言中,要求运算数必须是整型的运算符是_D_。 A、/ B、+ C、*= D、%7、C语言中,复合语句的构成是将一系列语句置于_C_。 A、begin与end之间 B、方框号“ ”之间 C、花括号“ ”之间 D、圆括号“( )”之间8、有如下程序段,对应正确的数据输入是_A_。float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A、2.04<回车> B、2.04,5.67<回车> 5.67<回车>C、A=2.04,B=5.67<回车> D、2.045.67<回车>9、以下程序段的输出结果是_D_。 int a=5678; printf(”%2dn”, a); A、提示出错、无结果 B、56 C、78 D、567810、已知:char ch='A';则下列表达式的值是_B_。 ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A、A B、a C、Z D、z11、下列描述,正确的是_B_ 。A、表达式3.91%5是合法的B、用b=89作为while循环的条件是合法的C、逗号表达式是没有值和类型的D、字符型变量和int型变量的操作完全不同12、阅读以下程序: main() int x; scanf("%d",&x); if(x-<5) printf("%d",x); else printf("%d",x+); 程序运行后,如果从键盘上输人5,则输出结果是_B_ 。 A、3 B、 4 C、 5 D、 613、下列程序的运行结果是_C_。#include ”stdio.h”main() int k; k=3; switch(k) case 1: printf(”%dn”, k+); case 2: printf(”%dn”, k+); case 3: printf(”%dn”, k+); case 4: printf(”%dn”, k+); break; default: printf(”Full!n”);A、3 B、4 C、3 D、4 4 414、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、 m=2、n=1,则逻辑表达式(m=a<b)&&(n=c<d) 的值为_A_。 A、0 B、 1 C、2 D、 315、设x、y和temp均为long int型变量,则以下语句:temp=x; x=y; y=temp; 的功能是_D_。A、把x和y按从大到小排列 B、把x和y按从小到大排列 C、无确定结果D、交换变量x和变量y的值 16、以下程序的输出结果是 _A_ 。main() int a, b; for(a=1, b=1; a<=100; a+) if(b>=10) break; if (b%3=1) b+=3; continue; printf("%dn",a); A、4 B、6 C、5 D、10117、执行以下程序后输出的结果是_D_。main() int y=10; do y-; while(-y); printf("%dn",y-); A、-1 B、1 C、8 D、018、执行以下程序后输出的结果是_B_。main() int i, j, w=0; for(i=4; i; i-) for(j=1;j<=2;j+) w=w+i*j; w=i*j; printf("%dn",w); A、4 B、0 C、1 D、3019、以下程序运行后,输出结果是_C_。 main() int n5=3,3,3,i,k=2;for(i=0;i<k;i+) ni=ni+1;printf("%dn",nk);A、4 B、9 C、3 D、不确定的值20、以下程序的输出结果是 _A_ 。 f ( int a) int b=0; static int c = 3; b+; c+; return(a+b+c); main() int a = 2, i; for(i=0;i<3;i+) printf("%dn",f(a); A、 7 B、 7 C、 7 D、 7 8 9 10 7 9 11 13 721、设C程序如下: #define ABC(x) x*x #include"stdio.h" main() int a=3,b; b=ABC(a+1); printf("b=%d", b); 上述程序运行输出的结果是_D_ 。 A、b=4 B、b=a+1 C、b=16 D、b=722、以下程序的输出结果是_B_。 main() int i, a10; for(i=9;i>=0;i-) ai=10-i; printf("%d %d %d",a1,a6,a9); A、1 6 9 B、9 4 1 C、9 6 1 D、3 5 723、若定义:float x=3.14159,*p=&x; 则printf("%fn",*p+);的输出结果为_C_ 。 A、无确定值 B、x的地址 C、3.14159 D、4.1415924、以下程序的输出结果是_B_ main()char b="Language" char *p=b; printf("%c ",*(b+2); p=p+7; printf("%cn",*p+);A、2 7 B、n e C、a g D、n u25、下列程序的输出结果是_A_。#include "stdio.h"main() int a=1,2,3,4,5,6,7,8,9,0, i, s, *p; p=a;s=0; for(i=0;i<=9;i+) s+=*p+; printf("%dn", s);A、45 B、44 C、0 D、9二、判断题(每小题1分,共10分)1语句int *point;中的point是指针变量名。( T )2主函数和其它函数之间可以相互调用。( F )3puts( )和gets( )函数只能输入或输出一个字符。( F )4. 可以对字符型数组元素进行整体输入、输出。( T )5do-while语句构成的循环不能用其他语句构成的循环来代替。( F )6在一个函数内的复合语句中定义的变量可以在本函数范围内有效。(F )7函数必须有返回值,否则不能使用函数。( F )8for(;);语句相当于while(1);语句。( T )9C程序的执行总是从第一个定义的函数开始。( F ) 10C语言中的关键字专门用作语言的特定成分,而不能作为一般标识符使用。( T )三、程序填空题(每空2分,共10分)1、下面程序完成判断某一个数m是否为素数,如果是则输出"m is a prime!",否则就输出"m is not a prime!",请选择填空。 main() int i, m; scanf("m=%d", &m); for(i=2; i<m; i+) if(m%i=0) printf("%d is not a prime!n", m); (1) else (2) if(i=m) printf("%d is a prime!n", m); (1)、 A、break B、continue C、break; D、continue; (2)、 A、break B、break;C、continue D、continue;2、以下程序的功能是:求出用数字0至9组成没有重复数字且是13倍数的三位数的个数,请选择填空。 #include<stdio.h>void main() int i, j, k, w, count = 0; for( (3) ; i<=9; i+) for(j=0;j<=9; j+) for(k=0; k<=9;k+) if( (4) ) w = i*100+j*10+k;if( (5) )count+; printf("n count=%dn", count);(3)、 A、i=0 B、i=1 C、i=9 D、i=-1(4)、 A、i!=j B、i!=j |j!=k C、i!=j&& j!=k D、i!=j&& j!=k && k!=i(5)、 A、w%13=0 B、w/13=0 C、w%13=0 D、w/13=0四、编程题(第1小题12分,第2小题18分,共30分)1、从键盘输入一个4位数的正整数n,将该数反序输出。例如,若输入的是 1357,则输出的是7531。要求:1)利用VC+编译系统进行调试、运行 2)对输入的正整数n的合法性进行检查3)将源程序以“编程题1.c”为文件名保存在网络盘(K:盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分2、已知一组字符串a27="jjyyzzabcdefgJJYYZZABCDEFG" 请编一程序,将其 中的小写字母换成其前一个字母,即z换成y,y换成x,.,b换成a,若是a则换成z。然后对数组a27从小到大排序,并输出排序后的字符串。 要求:1)利用VC+编译系统进行调试、运行2)先输出原字符串(即未做任何改变的字符串),最后输出排序后 的字符串3)将源程序以“编程题2.c”为文件名保存在网络盘(K:盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分