《高级语言程序设计(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,b);
}
A、a=6,b=4 B、a=5,b=3 C、a=6,b=3 D、a=5,b=4
3、以下程序的输出结果是( 3 )。
main()
{int a=1,c;
c=7/2||++a;
printf("%d,%d ",a,c);
}
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$234printf函数属于
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",strlen(s));
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 && -10<a
12、设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、是无终止的循环 B、一次也不执行
C、执行4次 D、执行3 次
16、以下程序的输出结果是(16)。
#include<stdio.h>
main()
{
int x,t;
x=10;
t=(--x)+(--x);
printf("%d\n",t);
}
A、17 B、19 C、16 D、18
17、合法的数组定义是 ( 17 )。
A、char b[n]="yes"; B、char b[4]={"y", "e", "s"};
C、char b[4]={'y','e','s'}; D、char b="yes";
18、以下程序的输出结果是:( 18 )
main()
{ char *ch[]={"cccc","bbbb","aaaa","dddd"};
printf("\"%s\"\n",ch[2]);
}
A、"aaaa" B、"bbbb" C、"cccc" D、"dddd"
19、以下程序的输出结果是( 19 ) 。
#include<stdio.h>
main()
{
int a=2, b=5;
printf("a=%d%%,b=%d%%\n",a, b);
}
A、a=%2, b=%5 B、a=2, b=5
C、a=%%d, b=%%d D、a=2%, b=5%
20、有如下程序:
main()
{
int i,sum;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n",sum);
}
程序执行后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",&a,&b,&d); B、scanf("%d%d%d",&a,&b,c);
C、scanf("%d%d%d",d,&b,&c); D、scanf("%d%d%d",a,b,*d);
24、若定义:char a='B',*b=&a则printf("%c\n",++*b);
的输出结果为( )。
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;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论