1、《C语言程序设计》模拟卷 题号 一 二 三 四 总分 得分 评卷人 一、选择题: 1.一个C语言的源程序中______。 A)必须有一个主函数 B)可以有多个主函数 C)必须有主函数和其他函数 D)可以没有主函数 2.执行以下语句的结果为__C_。 y=10; x=y++; A)x=10, y=10 B)x=11, y=11 C)x=10, y=11 D)x=11, y=10 3.执行以下程
2、序段后,c3的值是______。 int c1=1,c2=2,c3; c3=c1/c2; A) 0 B) 1/2 C) 0.5 D) 1 4.C语言中字符型(char)数据在内存中的形式存储是______。 A) 原码 B) 补码 C)反码 D) ASCII码 5.下列常数中不能作为C的常量的是______。 A) 0xA5 B) 2.5e-2 C) 3e2 D) 2e32.6 6.C语言中整数-8在内存中的存储形式是______。 A) 1111 1111 1111 1000
3、 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 7.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是______。 A)6 B)12 C)30 D)36 8.执行以下程序段后,a,b,c的值分别是______。 int a,b=100,c,x=10,y=9; a=(--x==y++)?--x:++y; if(x<9)b=x++; c=y; A)9,9,9
4、 B)8,8,10 C)9,10,9 D)1,11,10 9.一个C语言程序的基本组成单位是______。 A)主程序 B)子程序 C)函数 D)过程 10.已知函数abc的定义为: void abc ( ) { ....... } 则函数定义中void的含义是_____。 A)执行函数abc后,函数没有返回值 B)执行函数abc后,函数不再返回 C)执行函数abc后,可以返回任意类型 D)以上三个答案全是错误的 11.以下程序的输出结果是____。 main
5、) { int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); } A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9, 12.已知:double *p[6];它的含义是_____。 A)p是指向double型变量的指针 B)p是double型数组 C)p是指针数组 D)p是数组指针 13.已知:int *p, a; 则语句"p=&a;"中的运算符"&"的含义是_
6、 A)位与运算 B)逻辑与运算 C)取指针内容 D)取变量地址 14.变量的指针,其含义是指该变量的( ) A)值 B)地址 C)名 D)一个标志 15.下面程序段的运行结果是:( ) char c[ ]=”\t\v\\\0will\n” printf(“%d”,strlen(c)); A)14 B)3 C)9 D)字符串中有非法字符,输出值不确定 二、填空题: 1.表达式10+16%3的值为___11____。 2.写出满足下列条件的表达式:a和b都不小
7、于c______________________。 3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为_____。 4.下面函数的功能是求整数1到n的和请把程序补充完整。 long sum( int n) { int i; __________ for(i=1;i<=n;i++) _______________ return s; } 三、程序阅读题,写出程序的输出结果: 1.#include “stdio.h” main() {int i, j;
8、 i=j=2; if(i==1) if(i==2) printf(“%d”,i=i+j); else printf(“%d”,i=i-j); printf(“%d”,i); } ___________________________________。 2.main() {int i=3 while(i<10)) {if(i<6) {i+=2; continue; } else printf(“%d
9、 ”,++i); } } ___________________________________。 3.#include “stdio.h” #define X 5 #define Y X+1 #define Z Y*X/2 main( ) {int a; a=Y; printf(“%d %d\n”,Z,--a); } ___________________________________。 四、编程题:(共45分) 1.编程求分段函数y=f(x)的值,f(x)的表达式如下:
10、 2x+3 x<-1 f(x)= 5x+10 -1≤x≤1 12x x>1 2.用switch语句编写程序,实现以下功能:从键盘输入数字1、2、3、4。分别显示excellent,good,pass,fail.输入其它键时显示error。 3.编写一函数,找出一整数的全部因子。 参考答案: 1、 #include "math.h" main( ) {float x,y; printf("input x\n"); scanf("%f",&x);
11、 if(x<-1) y=2*x+3; else if(x>=-1&&x<=1) y=5*x+10; else y=12*x; printf("x=%f,y=%f",x,y); } 2、 main() { int x; printf("please input a number\n"); scanf("%d",&x); switch (x) { case 1: printf("excellent\n");break; case 2: printf("good\n");break; case 3: printf("pass\n");break; case 4: printf("fail\n");break; default : printf("error\n"); } } 3、 void yz(int n) { int i; for(i=1;i<=n;i++) I f(n%i==0) printf("%5d",i); return ; }






