东 华 大 学 试 卷
2019—2020 学年第 2 学期 课号
课程名称 C语言程序设计 (期末; A卷) 适用班级(或年级、专业)
考试时间 120 分钟 班级 学号 姓名
题 号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 九 | 十 | 成绩 |
满 分 | 60 | 20 | 10 | 10 | 100 | ||||||
得 分 | |||||||||||
(说明:试卷中要用到的标准输入输出函数库函数语句 #include <stdio.h>语句已省略!)
一、(60分,每小题2分)单项选择。
1.以下正确的 C 语言标识符是( )。
A. %i B. 3a C. a1234 D. test!
2.设 int n=2; 则 ++n+1= = 4 的结果是( )。
A.0 B.1 C.2 D.3
3.设 int a=4,b; 则执行 b=a<<1; 语句后, b 的结果是( )。
A.2 B.4 C.6 D.8
4.在定义 int a[10]; 之后,对 a 的引用正确的是( )。
A.a[10] B.a[1.3] C. a(6) D.a[10-10]
5.以下给字符数组 str 定义和赋值正确的是( )。
A.char str[10]; str="China"; B.char str[]={"China"};
C.char str[10]; strcpy(str,"abcdefghijklmn"); D.char str[10]={"abcdefghij"};
6.以下程序段( )。
x= -1; do {x=x*x;} while(!x);
A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误
7.在说明一个结构体变量时系统分配给它的存储空间是 ( )。
A. 该结构体中第一个成员所需存储空间 B. 该结构体中最后一个成员所需存储空间
C. 该结构体中占用最大存储空间的成员所需存储空间
D. 该结构体中所有成员所需存储空间的总和
8.有如下定义: struct date { int year,month,day; } birthday;
对结构体变量 birthday进行赋值时,下面正确的赋值语句是( )。
A.year=1949 ar=1950
C.ar=1951 ar=1952
9.设 char s[80];*p=s; 以下不正确的表达式是( )。
A. p=s+5; B. s=p; C. s[32]=p[42]; D. *p=s[0];
10. sizeof(double) 是一个( )表达式。
A. 整型 B. 双精度 C. 不合法 D. 字符
11. 设 char **t; 以下正确的表达式是( )。
A. t="computer"; B. *t="computer"; C. **t="computer"; D. *t='c';
12. 设有说明 int (*ptr)[M]; 其中 ptr 是( )。
A. M 个指向整型变量的指针 B. 指向 M 个整型变量的函数指针
C. 一个指向具有 M 个整型元素的一维数组的指针
D. 具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量
13. 设有定义:enum t1 {a1, a2 = 7, a3, a4 = 15} time;则a2和a3的值分别为 ( )。
A. 1和2 B. 2和3 C. 7和3 D. 7和8
14. 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( )。
A.1 B. 2 C. 3 D. 0
15. 以下程序片段( )。
main ( ) { int x=0,y=0,z=0;
if (x=y+z) printf(“***”);
else printf(“###”); }
A.有语法错误,不能通过编译 B.输出:***
C.可以编译,但不能通过连接,所以不能运行 D.输出:###
16. 下面程序段的输出结果是( ) 。
int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]);
A.357 B.369 C.159 D.147
17. 下面程序的输出结果是( ) 。
void main ( )
{ char ch[7]=”12ab56”; int i,s=0;
for (i=0;ch[i]>’0’&&ch[i]<=’9’;i+=2) s=10*s+ch[i]-‘0’;
printf(“%d\n”,s);
}
A.1 B.1256 C.12ab56 D.ab
18. 下面程序段的运行结果是( )。
char *s=”abcde” ; s+=2 ; printf(“%d”,s);
A.cde B.字符’c’ C.字符’c’的地址 D.不确定
19. 若int x;则执行下列程序段后输出是( )。
for(x=10;x>3;x--)
{ if(x%3) x--;--x;--x;
printf(“%d”,x);
}
A.63 B.74 C.62 D.73
20. 以下程序的执行结果是( )。
main()
{ int sum,pad; sum=pad=5;
pad=sum++; pad++; ++pad;
printf("%d\n",pad);
}
A.7 B.6 C.5 D.4
21.有以下程序
void ss(char *s,char t) {
while(*s) { if(*s= =t)*s=t-'a'+'A'; s++; } }
main() {
char str1[100]="abcddfefdbd",c='d';
ss(str1,c); printf("%s\n",str1); }
程序运行后的输出结果是 ( )。
A. ABCDDEFEDBD B. abcDDfefDbD C. abcAAfefAbA D. Abcddfefdbd
22.打开磁盘上的C文件,称为( )。
A. 输出 B. 输入 C. 修改 D. 删除
23. 如下程序的执行结果是 ( )。
#include<stdio.h>
main() { static int a[]={1,2,3,4,5,6}; int *p;
p=a; *(p+2)+=1;
printf("%d,%d\n",*p,*(p+2)); }
A. 1,3 B. 1,6 C. 3,6 D. 1,4
24.设int a[10]={1,2,3}; 则*(a+3)的值是( )。
A. 1 B. 2 C. 3 D. 0
25 .若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[2][2]的值为( )。
A. 2 B. 4 C. 6 D. 8
26.下列程序执行后的输出结果是
void func(int *a,int b[]) { b[0]=*a+6; }
main() {int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n",b[0]); }
A. 5 B. 6 C. 7 D.8
27、在高级语言中,对文件操作的一般步骤是( )。
A.打开文件—操作文件—关闭文件 B.操作文件—修改文件—关闭文件
C.读写文件—打开文件—关闭文件 D.读文件—写文件—关闭文件
28、已定义以下函数 fun(char *p2, char *p1) {
while((*p2=*p1)!='\0'){p1++;p2++;} } 函数的功能是 ( )。
A. 将p1所指字符串复制到p2所指内存空间 B. 将p1所指字符串的地址赋给指针p2
C. 对p1和p2两个指针所指字符串进行比较 D. 检查p1和p2所指串中是否有'\0'
29.有以下程序
main(){int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是 ( )。
A. 1,1,2 B. 2,2,1 C. 2,2,2 D. 2,2,3
30.以下 for 循环是 ( )。
for(x=0,y=0;(y!=2013)&&(x<4);x++,y+=2000) {…}
A. 无限循环 B. 执行 5次 C. 执行 4 次 D. 执行 1次
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论