您的当前位置:首页正文

高级语言程序设计(C语言)A试卷与答案

来源:化拓教育网


《高级语言程序设计(C语言)》A试卷和参考答案

一、选择题(每题2分,25题,共50分)

下列各题A、B、C、D四个答案中,只有一个选项是正确的,请将

每题的正确答案写在答题纸对应序号的横线上,答在试卷上不能得分

1、对于C语言的函数,下列叙述中正确的是(1)

A、函数的定义不能嵌套,但函数调用可以嵌套

B、函数的定义和调用都有不能嵌套

C、函数的定义和调用都能嵌套

D、函数的定义能嵌套,但函数调用不能嵌套

2、以下程序的输出结果是 ( 2 )。

main()

{int x=1,a=2, b=3;

switch(x)

{ case 0: b=b+a;break;

case 1: a=b+a;

case 2: ++a;++b;

}

printf(\"a=%d,b=%d\\n\

}

A、a=6,b=4 B、a=5,b=3 3、以下程序的输出结果是( 3 )。main()

{int a=1,c;

c=7/2||++a;

printf(\"%d,%d \

}

C、a=6,b=3 、a=5,b=4

D

A、1,1 B、0,1

C、1,3 D、2,3

4、若: char s[30][30];则数组元素的非法引用是(4)。

A、s[20][9] B、s[29+1][2*3]

C、s[3][29] D、s[9][30-1]

5、有以下定义语句:

int a[10]={3, 9, 11, 14, 20, 32, 60}, *p;

p=a;

则 ++(*++p) 的值是 (5)

A、 9 B、11 C、22 D、10

6、下列可以正确表示字符型常数的是 ( 6 )

A、\"a\" B、\"\\010\" C、'\\n' D、h

7、若定义语句 float bb[100],则该数组array元素的

上、下限为 ( 7 ) 。

A、 0,99 B、99,0 C、100,1 D、0,100

8、下列各组字符序列中,可用作C语言程序标识符的是(8)。

A、SBSD B、 _1$234

C、spr#it D、 4_cf_1在

9、已知:char ch='t';则下列表达式的值是 ( 9 )

ch = (ch>='a'&&ch<='z') ? (ch-32) : ch;

A、T B、A C、Z D、t

10、以下程序段的输出结果是( 10 ) 。

Char s[]=\"\\\\\\nabcert\";

printf(\"%d\\n\

A、9 B、8 C、11 D、10

11、能正确表达数学关系|a|>10的表达式是 ( 11 ) 。

A、10>a>-10 B、a>10 ||-10>a

C、a>-10||10>a D、a>10 && -1012、设x、y、z和k都是int型变量,则执行表达式:

x=(y=k=2, z=k+8, y=y+z)后

的值为( 12 )。

A、12 B、10 C、2 D、0

13、以下数据中不属于int类型的是(13)。

A、-32768 B、0x23

C、036 D、32768

14、设 int a=5,b=10,t,*x=&a、*y=&b;则以下语句:

{ t=*y; *y=*x; *x=t};

的功能是 ( 14 ) 。

A、无确定结果 B、交换x和y中的值

C、交换a和b中的值 D、a和b的值不变

15、以下的for循环( 30 ) 。

for(x=1; x>0;x++);

A、是无终止的循环 C、执行4次 16、以下程序的输出结果是(16)。

#include

main()

{

int x,t;

x=10;

t=(--x)+(--x);

printf(\"%d\\n\

、一次也不执行

、执行3 次

B D

}

A、17 B、19 C、16 D、18

17、合法的数组定义是 ( 17 )。

A、char b[n]=\"yes\"; B、char b[4]={\"y\

C、char b[4]={'y','e','s'}; D、char b=\"yes\";

18、以下程序的输出结果是:( 18 )

main()

{ char *ch[]={\"cccc\

printf(\"\\\"%s\\\"\\n\

}

A、\"aaaa\" B、\"bbbb\" C、\"cccc\" D、\"dddd\"

19、以下程序的输出结果是( 19 ) 。

#include

main()

{

int a=2, b=5;

printf(\"a=%d%%,b=%d%%\\n\

}

A、a=%2, b=%5 C、a=%%d, b=%%d 20、有如下程序:

main()

{

int i,sum;

for(i=1;i<6;i++)

sum+=i;

、a=2, b=5

D、a=2%, b=5%

B

printf(\"%d\\n\

}

程序执行后sum的值是(20)

A、15 B、14 C、不确定 D、0

21、若变量a是float类型,并执行了语句:a='B'+2.6;

则正确的叙述是( 21 )。

A、a的值是字符b b、a的值是字符'B'的ASCII值加上2.6

C、a的值是整型 D、a的值是字符'B'的ASCII值加上2

22、以下程序的输出结果是( 22 )。

main()

{ int i;

for (i=1;i<=5;i++)

{

if(i%2==1)

printf(\"*\");

else

printf(\"#\");

}

printf(\"$\\n\");

}

A、***##$ B、###**$ C、*#*#*$ D、#*#*#$

23、若有说明语句:int a, b, c, *d=&a;, 则能正确从键盘读入三个整数

分别赋给变量a、b、c的语句是( 23 )。

A、scanf(\"%d%d%d\ B、scanf(\"%d%d%d\

C、scanf(\"%d%d%d\ D、scanf(\"%d%d%d\

24、若定义:char a='B',*b=&a则printf(\"%c\\n\;

的输出结果为( )。

A、'a' B、a的地址 C、'B' D、'c'

25、.为判断char型变量m是否是小写字母,可用表达式 () 。

A、\"a\"<= m && m<=“z” B、a<=m && m<=z

C、'a'<=m && m<='z' D、三个答案都错

2005-2006(2)C语言试卷A编程题与评分标准

(两道题,提示:可以进入C编程环境编好程序,然后分别用:TEST1和TEST2的名字存在A盘。也可以直接在WORD的界面编程,然后分别用:TEST1和TEST2的名字存在A盘或在本版面编程直接存盘)

评分标准:

题目一

编一程序,输入两个整数,然后按从小到大的顺序输出。(14分)

一、 算法正确、语句正确、结果正确。(14分)

二、 算法正确(8分)

三、 定义两个整型变量、有输入语句,(1-4分)

四、 有条件语句和比较功能(3-7分)

五、 有打印语句(3分)

参考答案:

main()

{ int a,b;

scanf(“%d,%d”,&a,&b);

if(a<=b)

printf(“\\n %d, %d”,a,b);

else

printf(“\\n %d, %d”,b,a);

}

题目二

已知一组字符数组a[11]=“a5Bc3bWj9k”;一组字符数组b[10]; 编一程序,请将字符数组a[]中的小写字母放入数组b[]中,并对数组b[]按从大到小顺序排序,(数组b[]中没有值的元素不排)最后打印字符数组b[]。(20分)

评分标准:

一、 算法正确、语句正确、结果正确。(20分)

二、 算法正确(15分)

三、 定义变量、数组(1-2分)

四、 有条件语句(3分)

五、 有循环、取字母的功能、算字母个数(3-9分)

六、 有排序功能(4分)

七、 有打印数组语句(2分)

参考答案:

main()

{ char b[10],x;

char a[11]=\"a5Bc3bwj9k\";

int i,j,cnt=0;

for(i=0;i<=9;i++)

if(a[i]>='a'&&a[i]<='z')

b[cnt++]=a[i];

for(i=0;ifor(j=i+1;jif(b[i]{x=b[i];b[i]=b[j];b[j]=x;}

for(i=0;iprintf(\" %c,\

}

结果: w,k,j,c,b,a

因篇幅问题不能全部显示,请点此查看更多更全内容