一、判断题(正确的打√,错误的打×,每题1分,合计1x10=10分)
1. c语言中,016218表示为一个八进制整数。(错)
2. switch(c)语句中,c可以是int, long, unsigned char, char, unsigned int类型。(对)
3. 有数组定义int a1[2][2]=,则a1[1][1]的值为不确定的。错()
4. 有#define myprint(x) printf("#x") 则myprint(test)的输出结果为test.(错)
5. a=(b=4)+(c=6)是一个合法的赋值表达式。(对)
6. 自增运算符(++和自减运算符(--只能用于变量,不能用于常量和表达式。(错)
7. 若有说明static int a[3][4]; 则数组a中各元素可在程序的编译阶段得到初值0。(对)
8. char const * const p;与const char * const p;是一样,但是char * const p;与char const *p;是不一样的。(对)
二、单/多项选择题(每题2分,合计2*15=30分)
1、 对于浮点变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式有_c_d___
a)f=(f*100+0.5)/100.0 b)f=(f*100+0.5)/100
c)f=(int)(f*100+0.5)/100.0 d)f=((int)(f*100+0.5))/100.0
2、 若x、b、m、n均为int型变量,执行下面语句后b的值为___c_
m=20;n=6;
x=(-m==n++)m:++n
b=m++;
a)11 b)6 c)19 d)18
3、 下列选项中可以将变量n清零的表达式有__b__c
a)n=~n&~n b)n=n&~n c)n=n^n d)n=n|n
4、 若有以下说明int a[5][9]; 则下列选项中对数组元素a[i][j]的正确引用有a___c___0<=i<4,0<=j<0)
a)*(a[0][0]+9*i+j) b)*(a+i)(j)
c)*(a+i)+j) d)*(a[i]+j)
5、 下列选项中没有构成死循环的程序段有__a___c_
a)int i=100;
while(1)
b)for( ;
c)int k=0;
dowhile(k>=0);
d)int s=36; while(s);-s;
6、 有如下程序:
void fun(int i)
void main()
则运行结果是_b___
a)5,0, b)5, c)5,5, d)5,随机值 e)可能出现运行异常。
7、 若变量已正确定义,要求程序段完成求5!的计算,下列选项中能完成此操作的程序段a d
a)for (i=1,p=1;i<=5;i++)p*=i;
b)for (i=1;i<=5;i++)
c)i=1;p=1;while(i<=5) p*=i;i++;
d)i=1;p=1;dowhile(i<=5);
8、 有如下**:
int a,b,c;a=b=c=0;
0>1?a++:1>0?b++:c++;
printf("%d%d%d",a,b,c);
则输出结果是___a __
a)010 b)110 c)111 d)语法错误。
9、有以下程序。
main(c)
执行后输出结果是是(c)
a)4,110 b)002,112c)108,110 d)106,110
10、设有如下的程序段:
char str=hello";
char *ptr;
ptr=str;
执行上面的程序段后,*(ptr+5)的值为__b___
a)'o' b)'\0' c)不确定的值 d)'o'的地址。
11、以下程序输出的结果。
#include<>
int main()
int x = 10;
int y = 10;
x = x++;
y = y;
printf("%d %d", x, y);
return 0;
(d)a10 10 b. 10 11 c. 11 10 d. 11 11
13、在 c 语言中下面那个语句的结果是 1 ?(5 分 )b c d
a. main 函数正常结束的返回值。
b. return 7&1;
c. char *p="hello"; return p ==hello";
d. return "hello" =hello";
e. 上面都不对。
三、填空题(20分)
注:以下填空题目都是以32位机为主。
1. 给定结构。
#pragma pack(4)
struct a;
union b;
则。sizeof(a)= 20___
sizeof(b4___
(5分)2、 下面**实现统计一个整数二进制格式中包含多少个'1'请补充完整(5分)
int getbitnumber(int number)
return cnt;
3、 有如下定义。
char *a1=
char a2=thello\0";
char a3[8]=;
char *p1="hello";
char **p2=a1;
char a4=
int a5=
请问。sizeof(a1)= 8___
sizeof(a2)= 8___
strlen(a2)= 6___
sizeof(a3)= 16___
sizeof(p1)= 4___
sizeof(p2)= 4___
sizeof(a4)= 6
sizeof(a5)= 24
4.程序的输出结果:30
#include <>
#define double(x) x + x
void main()
int i = double(5) *5;
printf("%d", i);
5. 程序的输出结果:死循环。
#include <>
int main()
char num;
for(num = 0; num < 255; )
printf("the num is %d", num);
6. x86_64环境下。
#include <>
int main()
int a[4][4] =
int (*p1)[4] =a;
int (*p2)[4] =a[0];
int *p3 = a[0][0];
printf("%d, %d, %d, %d",a + 1) -1),
p1 + 3) -2) +1,
p2 - 1) +16) +2,
p3 + sizeof(p1) -3));
printf("%d", sizeof(p1));
return 0;
四、简答题(每题5分,合计5x4=20分)
1、 写出程序执行结果,并解释原因(5分)
void getstr(char *p)
void main()
2、 写一个“标准”宏,这个宏返回一个数组最高维的下标(如数组a[2][4][6],执行宏之后结果是2)。(5分)
3、 下面程序。
main()
char *p1="abc", p2="abc", str[8]="xyz";
strcpy(str+2,strcat(p1,p2));
C笔试试题
2011年 9月全国计算机等级考试二级笔试试卷。c语言程序设计。考试时间90 分钟,满分100分 一 选择题 每小题2分,共70分 1.下列叙述中正确的是 a.算法就是程序b.设计算法时只需要考虑数据结构的设计。c.设计算法时只需要考虑结果的可靠性 d.以上三种说法都不对。2.下列关于线性链表的叙述...
C笔试试题
模拟题二。一 选择题 每题1分,共40分 1.与十进制数200等值的十六进制数为 a a8 b a4 c c8 d c4 文件系统的组织结构属于。a 星形结构 b 网形结构 c 环形结构 d 树形结构 3.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为。a 1kb...
2023年春c 笔试试卷
2005年 春 笔试试卷。本试卷笔试时间为120分钟 说明 1 本试卷包括基础知识部分和程序设计部分。2 本试卷满分为60分,分选择题和填空题,试卷不分a b类型。3 计算机基础知识部分全部是选择题 20分 程序设计部分分为选择题 10分 和填空题 30分 两种。4 选择题用答题卡答题。每一项有a ...