《c程序设计》期末试卷a
《C程序设计》期末试卷A 自己收集整理的 错误在所难免 仅供参考交流 如有错误 请指正!谢谢 《C程序设计》期末试卷A 一、选择题(每题2分共30分) 1. C语言中 int类型数据占2个字节 则long类型数据占() A、1个字节 B、2个字节 C、3个字节 D、4 个字节 2. 以下说法中正确的是() A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中 要调用的函数必须在main。函数中定义 C、C语言程序总是从main。函数开始执行 D、C语言程序中的main ()函数必须放在程序的开始部分 3. 下面的程序会() main() ( int x=3, y=0, z=0: if(x=y+z) printf(“****“); else printf(“####”); } A、有语法错误不能通过编译B、输出 大大太大 C、可以通过编译 但不能通过连接 因而不能运行D、输出#### 4. 以下程序的输出结果是() main() { int x=10, y=10, i : for(i=0;x>8;y=++i) printf (〃%d %d〃, x一, y); } A> 10 1 9 2 B、9 8 7 6 C> 10 9 9 0 D、10 10 9 1 5. 以下程序的输出结果是 main() { int x=10, y=10, i : for(i=0;x>8;y=++i) printf (〃%d %d〃, x一, y); } A> 10 1 9 2 B、9 8 7 6 C、10 9 9 0 D、 10 10 9 1 6. 有如下程序 main () { int a[3] [3] = {{1,2), {3, 4), {5, 6}),i, j, s=0; for(i=l:i789〈回车〉,输出结果是 ftinclude main( ) (char s [ 100] ; int c, i: scanf (“%c”, scanf scanf s); printf (“%c, %d, %s\n”, c, i, s); } A、123, 456, 789 B、1, 456, 789 C、1, 23, 456, 789 D、1, 23,456 8. 以下对C语言函数的描述中 正确的是() A、C程序由一个或一个以上的函数组成 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值 否则不能使用函数 D、C程序中调用关系的所有函数必须放在同一个程序文件中 9. 以下函数值的类型是() fun ( float x ) (float y: y= 3*x-4; return y: } A、int B、不确定 C、void D、float 10. 一个C程序由函数A(),B0,C ()和函数P()构成 在函数A()中分别调用了函数B()和函数C() 在函数B()中调用了函数A() 且在函数P()中也调用了函数A() 则可以说( ) A、函数B ()中调用的函数A ()是函数A()的间接递归调用 B、函数A ()被函数B()调用是直接递归调用 C、函数P()直接递归调用了函数A () D、函数P()中调用的函数A()是函数P()的嵌套 11. 对于int *pa[5];的描述 ()是正确的 A、pa是一个指向数组的指针 所指向的数组是5个int型元素 B、pa是一个指向某数组中第5个元素的指针 该指针是int型变量 C、pa[5]表示某个数组的第5个元素的值 D、pa是一个具有5个元素的指针数组 每一个元素是一个int型指针 12. 执行以下程序后 y的值是() main () { int a[] = {2, 4, 6, 8, 10): int y=l, x, *p; P= for(x=0;x<3;x++) y+=* (p+x); printf (〃%d\n〃,y); } A、 17B、 18 C、 19D、 20 13. 有以下程序段 char arr[]=“ABCDE”; char *ptr; for (ptr=arr;ptr fwrite 函数 D、 fputc函数 99. 二、填空题(每题2分共10分) 1. 在C语言中使用到的变量 都应先() 后() 2. 若有定义:char c=z \010z ;则变量c中包含的字符个数为 3. 函数的返回值是通过函数中的()语句获得的 4. 下面函数用来求出两个整数之和 并通过形参传回两数相加之和 请填空 int add (int x, int y, () z) { ()=x+y;} 5. 设有以下结构类型说明和变量定义 则变量a在内存所占字节数是 struct stud (char num [6]; int s [4]; double ave: }a; #### 三、分析程序结果(每题5分共20分) 1. main () ( int x=l, y=2, z=3; x+=y+=z; printf (x〈y?x++: y++)); } 2. main () { int a=24, b=16, r: while (b) { r=a%b: a=b; b=r; } printf a); } 3. ftinclude int p(int k, int a[]) (int m, i, c=0; for(m=2;m<=k;m++) { for(i=2;i<=m;i++) if (!(m%i)) break: if(i==m) a[c++] =m; return c; ftdefine MAXN 20 main() { int i, m, s [MAXN]; m=p(13, s); for(i=0;i