考试科目:《C语言程序设计》第 章至第 章(总分100分)
一 单选题 (共20题 ,总分值40分 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)
1. 如有以下定义“int y[4][4]={1,2,3,4,5,6,7,8,9,10},*pyl=y[l],(*py2)[4]=y;”,则不能正确引用值为7的数组元素的表达式是( )。 (2 分)
A. *(y[l]+2) | B. *(y+1)+2 | C. pyl[2] | D. py2[1][2] |
2. 有以下程序
void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main()
{ char a=’A’,b=’a’;
fun(&b,a); printf(“%c,%c\n”,a,b);
}
程序运行后的输出结果是( )。
(2 分)
A. B,a,B,a | B. a,B,a,B | C. A,b,A,b | D. b,B,A,b |
3. 下面对结构数据类型的叙述中,( )是错的。 (2 分)
A. 结构变量可以在说明结构类型后定义,也可在说明结构时定义 |
B. 结构可由若干个成员组成,各成员的数据类型可以不同 |
C. 定义一个结构类型后,编译程序要为结构的各成员分配存储空间 |
D. 结构变量的各成员可通过结构变量名和指向结构变量的指针引用 |
4. 若有以下的说明,则对初值中字符'a'的引用方式为( )。
static struct st
{ char ch;double x;char a[];}
struct st c[2][2]={{'a',3.5,'bc'},{'c',4.5,'de'},{'m',8.6,'abc'}};
(2 分)
A. c.ch | B. c[0][0].ch | C. c[1][1].ch | D. a[0] |
5. 以下枚举类型的定义中正确的是( )。 (2 分)
程序设计语言一般可分为三大类A. enum a={one, two, three}; |
B. enum a {one=9, two=-1,three}; |
C. enum a={“one” , “two”, “three”}; |
D. enum a {“one”, “two”, “three”}; |
6. 若有定义:int *p[3];, 则以下叙述中正确的是( )。 (2 分)
A. 定义了一个基类型为int的指针变量p,该变量具有三个指针 |
B. 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 |
C. 定义了一个名为*p的整型数组,该数组含有三个int类型元素 |
D. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素 |
7. 有以下程序
#include
main( )
{ FILE *fp; int i,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
for(i=1;i<4 i="" fprintf="" fp="" d="">
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&k,&n); printf(“%d %d\n”,k,n);
fclose(fp);
}
执行后输出结果是( )。
(2 分)
A. 1 2 | B. 123 0 | C. 1 23 | D. 0 0 |
8. 在C语言中,文件若按数据的组织形式分类可分为( )。 (2 分)
A. 字符文件和数字文件 | B. ASCII文件和二进制文件 |
C. 顺序文件和随机文件 | D. 以上均不对 |
9. 有以下程序
#include
main()
{ char *p=“abcde\Ofghjik\0”;
printf(“%d\n”,strlen(p));
}
程序运行后的输出结果是( )。
(2 分)
A. 12 | B. 15 | C. 6 | D. 5 |
10. 运行下列程序后的输出结果是( )。
main()
{ char str[][10]={"China","Beijing"},*p=*str;
printf("%s\n",p+10);}
(2 分)
A. China | B. Beijing | C. ng | D. ing |
11. 已定义以下函数
fun (int *p)
{ return *p: }
该函数的返回值是( )。
(2 分)
A. 不确定的值 | B. 形参p中存放的值 |
C. 形参p所指存储单元中的值 | D. 形参p的地址值 |
12. 若有如下说明,则( )的叙述是正确的。
struct st
{int a;
int b[2];
}a;
(2 分)
A. 结构体变量a与结构体成员a同名,定义是非法的 |
B. 程序只在执行到该定义时才为结构体st分配存储单元 |
C. 程序运行时为结构体st分配6个字节存储单元 |
D. 类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后) |
13. 若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是( )。
(2 分)
A. *p+6 | B. *(p+6) | C. *p+=5 | D. p+5 |
14. 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是( )。
(2 分)
A. n,two | B. t,one | C. w,one | D. o,two |
15. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( )。 (2 分)
A. p=q; | B. *p=*q; | C. n=*q; | D. p=n; |
16. 对于用"r"方式打开文件下列说法正确的是( )。 (2 分)
A. 用"r"方式打开的文件只输入不能输出 |
B. 用"r"方式打开的文件只能输出,不能输入 |
C. 用"r"方式可以打开任何文件 |
D. 以上均不对 |
17. 已定义以下函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论