一、单选题。
1. 以下正确的语句是。
a. long b[2][3] =
b. int a[1][4] =
c. float x[3]
d. double y[3] =
2. 循环语句中,break的作用是___
a. 结束本次循环。
b. 从本循环体内跳出。
c. 跳出子函数。
d. 终止程序运行。
3. 有如下函数调用语句,则可以判断该函数的参数个数是___
func(rec1, rec2+rec3, (rec4, rec5));
a. 5b. 4
c. 3d. 有语法错误。
4. 下列程序段的输出结果为().
int x=3, y=2;
printf("%d", x*=y+8/5);
a. 9b. 7
c. 1d. 5
5. 设要定义n为整型变量,定义x为浮点型变量,正确的语句是:
a. int n;float x;
b. int n,float x,c. int n,float x;
d. int n;float x,6. 若有数组定义并初始化语句:char a1=char a2=pro〞 ;那么下列说法中正确的是。
a. a1和a2不同,a2的存储单元的数目多。
b. a1和a2不同,a1是指针。
c. a1和a2的存储单元的数目相同。
d. a1和a2完全相同。
7. 设有int n; 从键盘上输入整数给变量n,正确的语句是:
a. scanf( n );
b. scanf(“%d”,&n);
c. scanf( “n” )
d. scanf(“%d”,n);
8. 假定建立了以下链表结构,如图所示。指针p指向如图所示的结点,t为与data同类型的数据变量,则交换p所指向的结点和该结点的下一个结点的数据的语句为:t=p->data
a. p->next->data = t;p->data = p->next->data;
b. p->data = p->next->data; p->next->data = t;
c. p->data-> t;p->data = p->data;
d. p->next->data = p->data; p->next = t;
9. 下面的for 语句执行时,__将形成无限循环。
a. for(s=j=0; j<100; j+=1) s+=j;
b. for(s=j=0; j<100; j+1) s+=j;
c. for(s=j=0; j<100; j++)s+=j;
d. for(s=j=0; j<100; +j) s+=j;
10. 若要打开a盘上根下user子目录下名为的文本文件进行读、写操作,下面符合此要求的函数调用是().
a. fopen(“a:\user\
b. fopen(“a:\\user\\
c. fopen(“a:\user\
d. fopen(“a:\\user\\
11. 执行以下**段后,a的值为().
a. 1b. 2
c. 3d. 不确定。
12. 若有以下定义,则能打印出字母‘l’的语句是 。
struct personc[10]=,p=&a[0];
a. printf(“%c”,c[3].name);
b. printf(“%c”,c[2].name[1]);
c. printf(“%c”,c[2].name[0]);
d. printf(“%c”,c[3].name[1]);
13. 执行以下程序段后,m的值是 。
int a=
int m=10,k,*ptr=a;
for(k=0;k<5;k++)m+=*ptr+k);
a. 24b. 25
c. 26d. 23
14. 要判断char型变量m是否是数字,可以使用表达式。
a. m>=’0’ &m<=’9’
b. ’0’<=m <=9’
c. 0<=m &&m<=9
d. 0<=m &&m<=9
15. c 语言程序中可以对程序进行注释,注释部分必须用符号___
a. /和 */
b. *和 /*
c. d. [和 ]
二、程序填空题。
1. 输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。
运行示例:输入字符串: abcabc23+45#
各类字符个数:letter=6, digit=4, other=2
源程序:#include <>
void main( )
int digit, letter, other;
char __1___
digit = letter = 0;
other = 2___
printf("输入字符串: "
2. 输入一个整数,逆序后输出。函数reverse(int number)的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。
运行示例:输入整数: -1230
逆序后: -321
源程序:#include <>
#include <>
int reverse(int);
void main( )
int in;
printf("输入整数:")
scanf("%d", in);
m = 3. 程序运行时,输入整数n(01
源程序:#include <>
void main()
int i,j,n;
scanf("%d", n);
for(i=1; _1___i++)
pi=4*pi
printf("pi=%f",pi);
getch();
2. 程序调试题2(b_2_
调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括b_2_文件和b_2_文件)保存到目录c:
\ks\中。
功能说明:从键盘输入一个十进制整数n,转化成二进制存入数组a,输出二进制结果。
如输入:23 则输出:10111
又输入:1234 则输出:10011010010
带错误原程序(见c:\ks\b_2_
#include <>
main()
int a[16],n;
scanf("%d",&n);
for (i=0;n<0;i++)
while(i>0)
printf("%d",a[--i]);
getch();
3. 程序调试题3(b_2_
调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括b_2_文件和b_2_文件)保存到目录c:
\ks\中。
功能说明:程序从键盘输入一行字符串,所有字符依次向右循环移动m个位置并输出,移出的字符循环到最左边。如输入:
则输出:
带错误原程序(见c:\ks\b_2_
#include <>
#include <>
void shift_s(char a,int n,int m) /a数组的n个字符右移m个位置*/
int i,j,t;
for(i=1;i
a[n]='0';
main()
char stra[80];
int i, n,m;
计算机二级C语言真题分析
2011年3月二级c笔试真题分析。一 试题难度。自2008年初二级c考试大纲做出重大修改以来,已经进行了7次考试。由于上机考试采用从题库随机抽题的形式,每次题库内容只做少量增删,所以难度基本稳定。笔试采用统一命题的形式。如果把笔试真题的难度系数从0 最易 至10 最难 分级,那么这7次笔试的难度可以...
计算机二级C语言考试重点,难点总结
c 语言最重要的知识点复习资料。笔试注意事项。1 笔试满分100分,共两大题,选择70分40小题,填空30分15小题。c语言占70分,公共基础占30分。选择题的前10题和填空题的前5题考公共基础知识,其他考知识。c语言笔试时间为2011年3月26日上午9 00 10 30。2 选择用铅笔涂答题卡,填...
计算机等考二级C语言模拟试题
一。单项选择题。1.设int x 1,y 1 表达式 x y 的值是 a.0b.1c.b.int a 2 c.int a 2 2 2,3 d.int a 2 6.程序段的功能是将变量u s中的最大值赋给变量t。a.if u s t u t s b.t u if t t s c.if u s t s ...