奥鹏作业答案 发表于 2018-6-21 12:48:59

[江南大学]2018年上半年第二阶段测试题 计算机语言(C)第2阶段练参考

江南大学现代远程教育 第二阶段练习题
考试科目:《计算机语言(C)》第7章至第9章(总分100分)
            学习中心(教学点) 批次:            层次:                  
专业:                   学号:                  身份证号:               
姓名:                                                得分:                一、选择题(每题2分,共30分)
1.变量的有效范围与其定义位置有关,(      ),其作用域在整个源程序文件中都有效。
A.在第一个函数中定义的变量
B.在定义第一个函数之前所定义的变量
C.在主函数中定义的变量
D.在函数中定义的静态变量
2.C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是(      )。
A.将串STR1复制到串STR2中后再连接至串STR3之后 B.将串STR1连接至STR2之后再复制至串STR3之后 C.将串STR2复制到串STR1串后再将串STR3连接到串STR1 之后 D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串 3. 以下正确的说法是(      )。
A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式 C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参类型不一致,以实参类型为准
4.以下函数调用中有(      )个实参。
expd((a1,a2,a3),(a4,a5),a7,a8) A.4个            B.3个         C.8个          D.5个
5.对于C语言的函数,下列叙述中正确的是(      )。 A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套 6.编译预处理包括(      )。
A.文件包含、宏定义和条件编译               
B.构造工程文件 C.语句注释        D.编辑源程序
7.以下叙述中不正确的是(    )。
A.一个变量的作用域完全取决于变量说明语句的位置    B.外部变量可以在函数以外的任何位置定义 C.内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数下一次调用    D.用static说明—个外部变量是为了限制其它编译单位的引用 8.以下有关宏替换的叙述不正确的是(    )。
A.宏替换不占用运行时间             B.宏名无类型 C.宏替换只是字符替换               D.宏名必须用大写字母表示
9.假设有宏定义:
#define NUM15 #define DNUMNUM+NUM 则表达式DNUM/2+NUM*2的值为(       )。
A.45                B.67             C.52                D.90
10.若有宏定义与变量说明如下:
#defineX5 #defineYX+1 #defineZY*X/2 int a; a=y; 则执行以下printf语句后输出的结果是(      )。 Printf("%d %d\n",Z,--a); A.75                B.126              C.125             D.76 11.若有变量说明:char s,s1;执行语句:s="student";s1=s;正确的叙述是:(      )。
A.二个语句都不正确 B.s所指向的字符串和s1的值都是"student" C.第一个语句正确,而第二个语句不正确 D.第二个语句正确,而第一个语句不正确
12.C程序中若函数类型未加显式说明,则函数的隐含类型为(      )类型。
A. void         B. int                  C. char                  D. double    13.以下程序的运行结果是(       )。 main() {   int a=2,i;    for(i=0;i<3;i++) printf("%d",f(a));} f(int a) {   int b=0;       static int c=3;       b++;    c++;       return(a+b+c); } A.777                     B.7□7□7      C.789         D.7□8□9
14.执行以下程序: main() { char str;scanf(“%s”,str);printf(“%s\n”,str); }    若输入数据为: abcd1234efgh    则程序的输出结果是(   )。 A. abcd                                    B. abcd1234efgh C. abcd1234                              D. abcd1234efgh 15.对于extern型变量和static型变量的初始化(      )。 A.在编译时进行        B.在程序开始运行时进行 C.在程序运行过程中使用到它们时进行         D.不能确定在何时进行二、填空题(每空3分,共45分)
1. 有说明语句int a包括了             个数组元素。
2.在C语言中,二维数组元素在内存中的存放顺序是               。
3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是                     。
4.一个函数包含             和            两大部分, 在函数名后面,语句括号之前说明的变量名称为                  ;以"extern"开头进行的变量说明称为                         。
5.下面程序实现用折半查找法找出所给的字符c是否在已知字符串str中。
#include “stdio.h” main () { int bot=0,top=9,mid,flag=0;    char str=”achklnprtx”,c;    c=getchar();    while( (top-bot)>=0 ) {   _      ; if(b==c) {flag=1;               ;} else if(b<c) _             ; else _         ;} if(_      )    printf(“%c字符在已知字符串中\n”,c); else       printf(“%c字符不在已知字符串中\n”,c);}
6. 下面程序的功能是求1至1000之间满足“除3余0,且有一位是5”的数,例如15,45,51…且一行输出5个数,变量a,b,c分别存储百位,十位和个位。 #include<stdio.h> main() {int I=1,j=0,a,b,c;    do{ a=                      ;           b=I%100/10 ;           c= I%10 ;           if(                                                             )          {printf(“%4d”,I);             j=j+1;              if(j%5==0 )printf(“\n”);                I++;}while(I<1000);}
7.执行以下程序后,输出的是                     (所有编译系统传递函数参数的顺序为自右向左)。 [程序] func(int a,int b) { return a+b; } main() { int x=6,y=7,z; z=func(func(x++,y++), func(--x, --y)); printf("%d",z); }三、编程题(25分)
1.以下程序实现从键盘上输入年、月、日,计算该日是该年的第几天。(15分)
2.画出排序算法的N-S结构流程图。(10分)江南大学作业无忧答案网整理
页: [1]
查看完整版本: [江南大学]2018年上半年第二阶段测试题 计算机语言(C)第2阶段练参考