二级C语言笔试-252
(总分100,考试时间90分钟)
一、选择题
1. 设有以下语句:
charx=3,y=6,z;
z=x^y<<2;
则z的二进制值是( )。
A. 00010100 B. 00011011
C. 00011100 D. 00011000
2. 以下有关宏的描述不正确的是( )。
A. 宏定义不做语法检查 B. 双引号中出现的宏名不进行替换
C. 宏名无类型 D. 宏名必须用大写字母表示
3. 程序设计的任务包括( )。
A. 编写程序代码并上机调试 B. 确定所用数据结构
C. 确定所用算法 D. 以上选项均正确
4. 有以下程序
#include<stdio.h>
main()
int k=5,n=0;
while(k>0)
switch(k)
defhult:break;
case 1:n+=k:
case 2:
case 3:n+=k;
k--;
printf("%d\n",n);
程序运行后的输出结果是
A. 0 B. 4
C. 6 D. 7
5. 以下程序的运行结果是( )。
#include<stdio.h>
main()
int a=3,b=4,c=8,d=4,m=1,n=3;
printf("%d\n",(m=a>b)&&(n=c>d));
A. 0 B. 1
C. 2 D. 3
6. 下列选项中,不属于数据模型所描述的内容的是( )。
A. 数据类型 B. 数据操作
C. 数据结构 D. 数据约束
7. 下列说法正确的是( )。
A. auto和register将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外
B. 将变量其定义为static类型,则其初值默认为随机值
C. typedef说明符并不会为对象预留存留空间
D. 如果一个对象被声明为register,则埘它应用一元运算符&,意征取得其存储的地址
8. 若已包括头文件<stdio.h>和<string.h>,运行下面程序的输出结果是( )。
chars1[10]="12345",s2[10]="089",s3[]="67";
strcat(strcpy(s1,s2),s3);
puts(s1);
A. 08967 B. 0894567
C. 089567 D. 089567
9. 设y为整型变量,a=6,a的地址为E2000,b=14,b的地址为E2001;执行语句b=&a;y=&a;后Y的值为( )。
A. E2000 B. E2001
C. 6 D. 14
10. 设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是( )。
A. (EXP==0) B. (EXP!=0)
C. (EXP==1) D. (EXP!=1)
11. 有下列程序:
main()
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,P中的值为789,
则正确的输入是( )。
A. m=123n=456p=789 B. m=123 n=456 p=789
C. m=123,n=456,p=789 D. 123 456 789
12. 以下程序段的输出结果为( )。
static char a[]="programme";
char*p;
p=a;
for(p=a;p<a+8;p+=2)
putchar(*p);
A. programme B. porm
C. 有语法错误 D. prog
13. 以下函数findmin拟实现存数组中查最小值作为函数值返回,但程序中有错导致不能实现预定功能。
#define MAX 2147483647
int findmin(int x[],int n)
int i,min;
min=MAX;
for(i=0;i<n;i++)
if(min<x[i])min=x[i];
造成错误的原因是( )。
A. 定义语句int i,min;中min未赋初值
B. 赋值语句min=MAN;中,不应给min赋MAX值
C. 语句if(min<X[i])min=X[i];中判断条件设置错误
D. 赋值语句min=MAX;放错了位置
14. 有以下程序
#include<stdio.h>
main()
int y=9;
for(;y>0;y--)
if(y%3==0)printf("%d",--y);
程序的运行结粜是( )。
A. 741 B. 963
C. 852 D. 875421
15. 下列关于C语言数据文件的叙述中正确的是( )。
A. 文件由ASCII码字符序列组成,C语言只能读写文本文件
B. 文件由二进制数据序列组成,C语言只能读写二进制文件
C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
16. 若要求从键盘读入含有窄格字符的字符串,应使用函数( )。
A. getc() B. gets()
C. getchar() D. scanf()
17. 若有以下程序段:
struct st
int n;
int*m:
;
int a=2,b=3,c=5;
struct st s[3]=(101,&a,102,&c,103,&b);
main()
struct st*p;
p=s;
则以下表达式中值为5的是( )。
A. (*p).m B. *(p+1)->m
C. *(p++)->n D. (p++)(*m)
printf函数的作用是向终端18. 线性表常采用的两种存储结构是( )。
A. 散列方法和索引方式 B. 链表存储结构和数组
C. 顺序存储结构和链式存储结构 D. 线性存储结构和非线性存储结构
19. 在软件生产过程中,需求信息的来源是( )。
A. 程序员 B. 项目经理
C. 设计人员 D. 软件用户
20. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。
A. 需求分析 B. 详细设计
C. 软件设计 D. 概要设计
21. 对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为( )。
A. 并运算 B. 交运算
C. 差运算 D. 积运算
22. 以下程序的输出结果是( )。
int x;int*y;*p;
int dt[4]=1,2,3,4;
struct st aa[4]=2,&dt[0],3,&dt[0],4,&dt[0],5,&dt[0],;
p=aa;
pfintf("%d\n",++(p->x));
A. 1 B. 2
C. 3 D. 4
23. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )。
A. 均占4个字节 B. 根据数据的大小来决定所占内存的字节数
C. 由用户自己定义 D. 由C语言编译系统决定
24. 有以下程序:
#include<stdio.h>
main()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论