计算机语言(C)第2阶段测试题

更新时间:2023-09-16 13:43:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

江南大学现代远程教育 第二阶段测试卷

考试科目:《计算机语言(C)》第7章至第9章(总分100分) 时间:90分钟

学习中心(教学点) 批次: 层次: 专业: 学号: 身份证号: 姓名: 得分:

一、选择题(每题2分,共30分)

1.变量的有效范围与其定义位置有关,( B ),其作用域在整个源程序文件中都有效。 A.在第一个函数中定义的变量 B.在定义第一个函数之前所定义的变量 C.在主函数中定义的变量 D.在函数中定义的静态变量

2.C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是( C )。 A.将串STR1复制到串STR2中后再连接至串STR3之后 B.将串STR1连接至STR2之后再复制至串STR3之后

C.将串STR2复制到串STR1串后再将串STR3连接到串STR1 之后 D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串 3. 以下正确的说法是( C )。

A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参类型不一致,以实参类型为准 4.以下函数调用中有( A )个实参。 expd((a1,a2,a3),(a4,a5),a7,a8)

A.4个 B.3个 C.8个 D.5个 5.对于C语言的函数,下列叙述中正确的是( A )。 A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套 6.编译预处理包括( A )。 A.文件包含、宏定义和条件编译 B.构造工程文件

C.语句注释 D.编辑源程序

7.以下叙述中不正确的是( C )。

A.一个变量的作用域完全取决于变量说明语句的位置 B.外部变量可以在函数以外的任何位置定义

C.内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数下一次调用 D.用static说明—个外部变量是为了限制其它编译单位的引用 8.以下有关宏替换的叙述不正确的是( D )。 A.宏替换不占用运行时间 B.宏名无类型

C.宏替换只是字符替换 D.宏名必须用大写字母表示 9.假设有宏定义: #define NUM 15

#define DNUM NUM+NUM

则表达式DNUM/2+NUM*2的值为( C )。 A.45

B.67

C.52 D.90

10.若有宏定义与变量说明如下: #define X 5 #define Y X+1 #define Z Y*X/2 int a; a=y;

则执行以下printf语句后输出的结果是( A )。 Printf(\

A.7 5 B.12 6 C.12 5 D.7 6

11.若有变量说明:char s,s1[20];执行语句:s=\正确的叙述是:( A )。 A.二个语句都不正确

B.s所指向的字符串和s1的值都是\C.第一个语句正确,而第二个语句不正确 D.第二个语句正确,而第一个语句不正确

12.C程序中若函数类型未加显式说明,则函数的隐含类型为(B )类型。 A. void B. int C. char D. double 13.以下程序的运行结果是( C )。 main() { int a=2,i;

for(i=0;i<3;i++) printf(\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[13];scanf(“%s”,str);printf(“%s\\n”,str); } 若输入数据为: abcd1234 efgh

则程序的输出结果是( C )。

A. abcd B. abcd1234 efgh C. abcd1234 D. abcd1234efgh 15.对于extern型变量和static型变量的初始化( A )。 A.在编译时进行 B.在程序开始运行时进行

C.在程序运行过程中使用到它们时进行 D.不能确定在何时进行

二、填空题(每空3分,共45分)

1. 有说明语句int a[10]包括了 10 个数组元素。

2.在C语言中,二维数组元素在内存中的存放顺序是 按行存放 。

3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 单向值传递 。 4.一个函数包含 函数的首部 和 函数体 两大部分, 在函数名后面,语句括号之前说明的变量名称为 形式参数 ;以\开头进行的变量说明称为 外部变量说明 。 5.下面程序实现用折半查找法找出所给的字符c是否在已知字符串str中。 #include “stdio.h” main ()

{ int bot=0,top=9,mid,flag=0; char str[11]=”achklnprtx”,c; c=getchar(); while( (top-bot)>=0 ) { _mid=(top+bot)/2 if(b[mid]==c)

{flag=1; break ;} else if(b[mid]

top=mid-1 ;} if(_ flag ) printf(“%c字符在已知字符串中\\n”,c); else printf(“%c字符不在已知字符串中\\n”,c);}

6. 下面程序的功能是求1至1000之间满足“除3余0,且有一位是5”的数,例如15,45,51…且一行输出5个数,变量a,b,c分别存储百位,十位和个位。 #include main()

{ int I=1,j=0,a,b,c; do{ a= I/100 ; b=I0/10 ; c= I ;

if( I%3==0&&(a==5||c==5) ) {printf(“M”,I); j=j+1;

if(j%5==0 ) printf(“\\n”); I++;}while(I<1000);}

7.执行以下程序后,输出的是 22 (所有编译系统传递函数参数的顺序为自右向左)。 [程序] func(int a,int b) { return a+b; } main() { int x=6,y=7,z;

z=func(func(x++,y++), func(--x, --y)); printf(\ }

三、编程题(25分)

1.以下程序实现从键盘上输入年、月、日,计算该日是该年的第几天。(15分) 答: main()

2.画出排序算法的N-S结构流程图。(10分)

本文来源:https://www.bwwdw.com/article/5nxh.html

Top