C语言程序设计试卷A
期末测试卷1
一、选择题(每小题4分,共60分)
1.C语言源程序名的后缀是()
A).exe B) .C C) .obj D) .cp
2.下面不合法的C语言标识符有()
A) A3?B B) _4x C) 3xy D) a2+b
3.若x和y是double类型,则表达式x=1,y=x+3/2执行后的值为()
A) 1 B) 2 C) 2.0 D) 2.5
4.以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A) 均占4个字节 B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义 D)由C语言编译系统决定
5.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
A)x=y==5; B)x=n%2.5; C)x+n=1; D)x=5=4+1;
6.以下选项中,当x为大于1的奇数时,值为0的表达式( )
A) x%2==1 B) x/2 C) x%2!=0 D) x%2==0
7.以下叙述中正确的是( )
A)break语句只能用于switch语句体中
B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C) break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
8.在一个完整的C语言源程序中,必须包含的函数是( )
A) main( ) B) scanf( ) C) printf( ) D)getchar( )
9.执行下列两个语句后,输出的结果为()
char c1=97,c2=98;
printf(“%c%d”,c1,c2)
A) 97 98 B)a 97 C)97 b D) a 98
10.在C语言中,函数返回值的类型最终取决于( )
A) 函数定义时在函数首部所说明的函数类型
B) return语句中表达式值的类型
C) 调用函数时主函数所传递的实参类型
D) 函数定义时形参的类型
11.关于C语言中的do…while循环,下列说法正确的是()
A.必须使用break才能跳出循环
B.循环体至少执行一次
C.可以使用continue结束循环
D.while后的条件满足时跳出循环
12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
13.若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是()
A. a[2][1]
B. a[2][3]
C. a[0][3]
D. a[1][1]
14.以下叙述中正确的是( )
A)C语言程序将从源程序中第一个函数开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D)main可作为用户标识符,用以命名任意一个函数作为主函数
15.以下为一维整型数组a的正确说明是()
A)int a(10); B)int n=10,a[n];
C)int n; D)#define SIZE 10;
scanf("%d",&n); int a[SIZE];
int a[n];
二、填空题(每空2分,共20分)
1. C语言的语句结束标志是 ____________。
2.定义一个符号常量EOF,使其与-1等价,则正确的表示方式为____________。
3.在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的
4.定义a为共有16个元素的一维字符数组、同时定义p为指向a 数组首地址的指针变量的语句为_______________。
5.函数的实参为数组名时,形参与实参结合的传递方式为_______________。
6.已定义:char c=‘’;int a=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为_______________ 。
7.设有如下程序段 c har s[20]=”Beijing”,*p;p=s;则*p= _______________。
8.C语言中,一个长度为n的字符串要占用n+1个字节的存储空间,多出来的一个用来存放_______________ 。
9.当执行以下程序时,输入1234567890<回车>,则其中while 循环体将执行_________次。#include
void main()
{
char ch;
While((ch=getchar())!=’0’) printf(“#”);
return 0;
}
三、程序分析(每小题10分,共20分)
1.根据以下源程序,程序运行后的输出结果是______________
#include
void main()
{int x=3,y;
if(x<0) y=-1 ;
else if(x==0)
y=0;
else
y=-1;
printf(“x=%d,y=%d\n”,x,y);
}
2.有以下程序,程序运行后的输出结果是__________________
#include
void main()
{int i,j;
for(i=1;i<4;i++)
{for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j); printf(“\n”); }
}
参考答案
一、选择题
1-5: B B D D A
6-10: D C A D A
11-15: B D D C D
二、填空题
1.分号(;)
2.#define EOF -1
3.scanf printf
4.char *p,a[15];
p=a;
5.地址传递
6.0
7.B
8.\n
9.9
三、程序分析
1.该程序实现的符号函数的功能,即:当x>0,y=1 ;x=0,y=0;x<0,y=-1。
2.1×1=1 1×2=2 1×3=3
2×2=4 2×3=6
3×3=9
一、单选题(每小题2分,共20分) 1. C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 2. 逻辑表达式(x>0 || y==5)的相反表达式为()。 A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 && y==5 3. 循环体至少被执行一次的循环语句为()。 A. for B. while C. do-while D. 任一种循环 4. 假定n的值为5,则表达式n++的值为()。 A. 6 B. 5 C. 4 D. 7 5. 假定一个二维数组的定义为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][0]的值为()。 A. 0 B. 2 C. 4 D. 6 6. 假定一个函数原型为“char* func(int n)”,则该函数的返回类型为( )。 A. int B. int* C. char D. char* 7. 假定a为一个字符数组名,则元素a[i]的指针访问方式为( )。 A. a+i B. *(a+i) C. &a+i D. *a+i 8. 假定有语句为“int *p=calloc(10+20,sizeof(int));”,则p所指向的动态数组中所包含的元素个数为()。 A. 10 B. 20 C. 30 D. 40 9.十进制数50表示成符合C语言规定的八进制数为________。 A. 20 B. 32 C. 62 D. 062 10. 若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。 A. "r+" B. "ab+" C. "rb+" D. "wb+" 二、填空题(每小题2分,共26分) 1. 在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为__________。 2. 用于从键盘上为变量输入值的标准输入函数的函数名为________。 3. 假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为________。 4.double类型的长度为________。 5. 执行“int x=45,y=13;printf("%d",x/y);”语句序列后得到的输出结果为________。 6. 把表达式x=x+y转换成复合赋值表达式为__________。 7. 假定x的值为5,则执行“a=(!x? 10: 20);”语句后a的值为________。 8. 假定一维字符指针数组的定义为“char* a[8];”,则该数组占用的存储空间的字节数为________。 9. 假定二维数组的定义为“double a[M][N];”,则数组元素的行下标取值范围在_________之间。 10. 空字符串的长度为________。 11. 在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为________。 12. 若p指向x,则________与x的表示是等价的。 13. 直接访问表达式(*fp).score所对应的间接访问表达式为____________。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
-----------------------------------------装---------------------------------------订-----------------------------------线------------------------------------------------------------- 年级: 专业: 组别 学号: 姓名: ------------------------------------------密--------------------------------------封-----------------------------------线------------------------------------------------------------- 20 19 -20 20 学年第 1 学期武汉体育学院体育科技学院 期末考试试卷(闭卷) 专业:网络与新媒体 年级:2018 课程:计算机软件技术(必修课) 一、单项选择题(每小题1分,共30分) 1、C 语言的基本构成单位是( )。 A 、 函数 B 、 函数和过程 C 、 超文本过程 D 、 子程序 2、一个C 语言程序总是从( )开始执行。 A 、 主过程 B 、 主函数 C 、 子程序 D 、主程序 3、若x 为int 型变量,则执行以下语句后,x 的值为( )。 x=6; x+=x -=x*x; A 、 36 B 、 -60 C 、 60 D 、 -24 4、若m 为float 型变量,则执行以下语句后的输出为( )。 m=1234、123; printf("%-8、3f\n",m); printf("%10、3f\n",m); A 、 1234,123 B 、 1234.123 C 、 1234.123 D 、 -1234.123 1234.123 1234.123 1234.123 001234.123 5、若x=0,y=3,z=3,以下表达式值为0的是( ) A 、 !x B 、x 《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)。解析: strcpy(str1,str2); 后,str1[] 里是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的是str1, 因为str1[] 里是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的是(A)。 C语言程序设计试卷A 期末测试卷1 一、选择题(每小题4分,共60分) 1.C语言源程序名的后缀是() A).exe B) .C C) .obj D) .cp 2.下面不合法的C语言标识符有() A) A3?B B) _4x C) 3xy D) a2+b 3.若x和y是double类型,则表达式x=1,y=x+3/2执行后的值为() A) 1 B) 2 C) 2.0 D) 2.5 4.以下关于long、int和short类型数据占用内存大小的叙述中正确的是 A) 均占4个字节 B)根据数据的大小来决定所占内存的字节数 C)由用户自己定义 D)由C语言编译系统决定 5.若变量均已正确定义并赋值,以下合法的C语言赋值语句是() A)x=y==5; B)x=n%2.5; C)x+n=1; D)x=5=4+1; 6.以下选项中,当x为大于1的奇数时,值为0的表达式( ) A) x%2==1 B) x/2 C) x%2!=0 D) x%2==0 7.以下叙述中正确的是( ) A)break语句只能用于switch语句体中 B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环 C) break语句只能用在循环体内和switch语句体内 D)在循环体内使用break语句和continue语句的作用相同 8.在一个完整的C语言源程序中,必须包含的函数是( ) A) main( ) B) scanf( ) C) printf( ) D)getchar( ) 9.执行下列两个语句后,输出的结果为() char c1=97,c2=98; printf(“%c%d”,c1,c2)C语言程序设计模拟试题A(附答案)
C语言程序设计试卷A
C语言程序设计试卷(含答案)