《C语言程序设计_综合作业.docx》由会员分享,可在线阅读,更多相关《C语言程序设计_综合作业.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计_综合作业基本信息:矩阵文本题 *姓名:_学号:_1. C语言源程序名的后缀是( )。 单选题 *.exe.obj.c(正确答案).cp2. 以下叙述正确的是( )。 单选题 *C语言程序总是从main函数开始执行(正确答案)C语言程序总是从最前面的函数开始执行C语言程序所调用的函数必须放在main函数的前面C语言程序中main函数必须放在程序的开始位置3. 表达式3.6-5/2+1.2+5%2的值是( )。 单选题 *4.83.33.8(正确答案)4.34. 若有定义语句:int x=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为( )。 单选题 *2.41(正
2、确答案)21.95. 以下选项中,能用作用户标识符的是( )。 单选题 *void_0_(正确答案)8_8unsigned6. 有以下程序#includemain() int a=1, b=0;printf(%d, b=a+b);printf(%dn, a=2*b);程序运行后的输出结果是( )。 单选题 *0,03,21,2(正确答案)1,07. 若有以下程序#include main() char c1,c2;c1=C+8-3; c2=9-0;printf(%c %dn, c1, c2);则程序的输出结果是( )。 单选题 *H 9(正确答案)表达式不合法输出无定值F 9H 98. 若有定
3、义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( )。 单选题 *switch(a+b) case 1: printf(*n); case c: printf(*n); switch(x) case 1.0: printf(*n ); case 2.0: printf( *n); switch(int)x); case 1: printf(*n); case 2: printf(*n); switch(a+b) case 1: printf(*n); case 2+1: printf(*n); (正确答案)9. 以下程序段中的变量已正确定义for(i=0
4、;i4;i+,i+)for(k=1;k3;k+); printf(*” );该程序段的输出结果是( )。 单选题 *(正确答案)*10. 有以下程序#includemain()int i;for(i=1;i=40;i+)if(i+%5=0)if(+i%8=0)printf(%d,i);printf(n);执行后的输出结果是( )。 单选题 *32(正确答案)5402411. 若有以下程序#includeint f(int m) static int n=0;int a=2;n+; a+;return n+m+a;main() int k;for(k=0;k4;k+) print(%d,f(k)
5、;程序运行的输出结果是( )。 单选题 *3,5,7,9,4,7,10,134,6,8,10(正确答案)4,5,6,7,12. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确( )。 单选题 *函数的形参和实参分别占用不同的存储单元(正确答案)同名的实参和形参占同一个存储单元形参只是形式上的存在,不占用具体存储单元函数的实参和其对应的形参共占同一存储单元13. 有以下程序#include .int m1(int x,int y)return x=y?x:y; int m2(int x,int y)return x=y?y:x; int fun(int a, int b)retu
6、rn a+b; main() int x=2,y=3,z=1;printf(%dn, fun(ml(x, y),m2(y, z);程序的运行结果是( )。 单选题 *345(正确答案)614. 以下关于return语句叙述中正确的是( )。 单选题 *一个自定义函数中必须有一条return语句一个自定义函数中可以根据不同情况设置多条return语句(正确答案)定义void类型的函数中可以有带返回值的return语句没有return语句的自定义函数在执行结束时不能返回到调用处15. 有以下程序#includevoid f(int x) if(x=10)printf(%d-,x%10);f(x/1
7、0); elseprintf(%d, x);main() int z=123456;f(z);程序运行后的输出结果是( )。 单选题 *1-2-3-4-5-66-5-4-3-2-1(正确答案)1-2-3-4-5-6-6-5-4-3-2-1-16. 设有数组定义:char array=China; 则数组array所占的空间为( )。 单选题 *4个字节5个字节6个字节(正确答案)7个字节答案解析:字符数组是每个元素存放一个字符型数据的数组。C语言中约定用0作为字符串的结束标志,它占内存空间,但不计入字符串的长度。对数组array赋初值char array=China,此时系统自动在末尾加入一个
8、0,此时数组array的长度为6,所占用的空间为6个字节,即char array=China等价于char array=C,h,i,n,a,0。17. 有如下程序 void main() int i,sum;for(i=1;i=3;sum+)sum+= i; printf( %dn,sum); 该程序的执行结果是( )。 单选题 *63死循环(正确答案)0答案解析:在循环过程中,i的值一直没有被改变,所以这是一个死循环。18. 以下叙述正确的是( )。 单选题 *do-while语句构成的循环不能用其它语句构成的循环来代替。do-while语句构成的循环只能用break语句退出。do-whil
9、e语句构成的循环,在while后的表达式为非零时结束循环。do-while语句构成的循环,在while后的表达式为零时结束循环。(正确答案)答案解析:do-while语句构成的循环体可由其他语句构成的循环体代替,所以第一个选项不正确。do-while语句构成的循环,当使用break语句或者条件表达式的值为0时,可结束循环,所以第二和第三个选项不正确。19. 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。void main() int i,j;for(i=0;待填空1;i+) j=i*10+6;if(待填空2) continue;printf(%d,j); 单选题 *
10、待填空1应为i10;待填空2应为j%3!=0(正确答案)待填空1应为i=10;待填空2应为j%3!=0待填空1应为i10;待填空2应为j%3=0待填空1应为i=10;待填空2应为j%3=0答案解析:该程序的功能是:输出100以内能被3整除且个位数为6的所有整数。在具体程序中,定义变量i存储十位数,所以ib)&(n=cd)后n的值为( )。 单选题 *012(正确答案)7答案解析:&运算符的结合方向是从左到右,所以先计算左边括号中的m=ab表达式,其中ab等价于56不成立,故表达式ab的值为0,即为0赋给m,因此&左边表达式的值为0,0与任何值&运算都为0,于是不再计算&右边表达式的值(短路),
11、所以此时的n仍然为2。21. 以下关于运算符优先顺序的描述中正确的是( )。 单选题 *关系运算符 算术运算符 赋值运算符 逻辑运算符逻辑运算符 关系运算符 算术运算符 赋值运算符赋值运算符 逻辑运算符 关系运算符 算术运算符(正确答案)算术运算符 关系运算符 赋值运算符 =10 or a=0 | a=10 & a=10 a=0(正确答案)答案解析:表示或的意思,|是按位或的意思,&是并且的意思,C语言中没有or。23. 函数的实参传递到形参只有按值传递一种方式。 单选题 *正确错误(正确答案)答案解析:函数的实参传递到形参有值传递和地址传递两种方式。24. 在if语句的三种形式中,如果要想在
12、满足条件时执行一组(多个)语句,则必须把这一组语句用括起来组成一个复合语句。 单选题 *正确(正确答案)错误25. continue不是结束本次循环,而是终止整个循环的执行。 单选题 *正确错误(正确答案)答案解析:continue是结束本次循环,直接进入到下次循环中,break用于循环语句中的作用是直接跳出本层循环。26. 函数strlen(ASDFGn)的值是7。 单选题 *正确错误(正确答案)答案解析:strlen求的是字符串的长度,也就是从起始到0的字符个数,不包括0。并且,n是C语言字符表达的转义字符形式,代表换行。也就是说,n是一个字符,而不是和n两个字符。27. do-while
13、语句先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。 单选题 *正确(正确答案)错误28. 数组说明 int a3=1,2,3,4,5; 是正确的。 单选题 *正确错误(正确答案)答案解析:定义二维数组时,省略之后要让计算机能够确定定义的几行几列才可以,假如省略行数,但确定了列数,计算机会根据列数以及初始化时的数据,自动确定行数,因此行数可以省略。但是如果给了行数但没有确定列数,对于初始化的数据,计算机不知道怎么划分,会出现错误。29. C语言允许用字符串的方式对数组作初始化赋值。 单选题 *正确(正确答案)错误30. 设有:int x=11;,则表达式 (x+ * 1/3) 的值是4。 单选题 *正确错误(正确答案)答案解析:当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增加1,所以表达式(x+*1/3)相当于(11*1/3),值为3。