C语言软件大赛选拔试题

发布 2024-04-16 21:45:10 阅读 4415

河南机电高等专科学校计算机科学与技术系。

全国软件专业人才设计与开发大赛”

校内选拔试题 (c语言)

班级姓名学号。

注:答案要求全部写在答题纸上,否则无效)

一、基础篇(50分)

1、单选(每题1分,10小题共10分)

1). 执行下列程序中的输出语句后,x的值是___

main()

a)30 b)60 c)50 d)80

2). 在c语言中,下列选项属于合法的长整型常数的是___

a)0l b)1234567 c)0.0234567 d)3.14159e3

3). 若有定义:int a,b;char x,y;并有以下输入数据: 14 22 xxyy (回车)

则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是。

a) scanf(“%d %d”,&a,&b);x=getchar();y=getchar();

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

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

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

4). 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是___

a)c=b=a; b)(a=c)‖(b=c); c)(a=c)&&b=c); d)a=c=b;

5). 语句printf(“%d”,strlen(“asd\x12\1\\”的输出结果是___

a)9 b)11 c)7 d) 8

6). 下列程序的运行结果是___

main()

while(- y);

printf(“%d”,y- -

a)-1 b)1 c)8 d)0

7). 阅读下面程序,该程序段的功能是___

#include <>

main(),i,j,t;

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

c[j+1]=t;}

for(i=0;i<7;i++)printf(“%d ”,c[i] )

putchar('');

a)对数组元素的升序排列 b)对数组元素的降序排列。

c)对数组元素的倒序排列 d)对数组元素的随机排列。

8). 有如下程序:

#define f(x) x*x

main()

该程序执行后的输出结果是___

a)28 b)21 c)16 d)4

9). 下列程序的运行结果是___

#include <>

int counter(int i)

static int count = 0;

count = count + i;

return count; }

main (

int i, j;

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

j = counter(i);

printf("%d", j);}

a)10 b)15 c)6 d)7

10) int k = x>y? (x>z?x:z) :y>z?y:z) 语句的目的是:

a)求 x, y, z 最大值 b)求 x, y, z 最小值

c)求 x, y, z 中间值 d)求 x, y, z 平均值。

2、多选(每题2分,共10题,共 20分,错选,漏选均不得分)

1). 下列符号串中,不属于c语言合法标识符的有___

a)_1_2_3 b)a-b-c c)int d)9cd

2). 下列选项中,没有构成死循环的程序段有___

a)int i=100b)for( ;

while(1)

c)int k=0d)int s=36;

do while(k>=0); while(s);-s;

3). 下列判断正确的是___

a) char *a=“china”;等价于 char *a;*a=“china”;

b) char str[6]=;等价于char str[ ]

c) char *s=“china”;等价于char *s;s=“china”;

d) char c[4]=“abc”,d[4]=“abc”;等价于char c[4]=d[4]=“abc”;

4). 设有如下定义:

char *s[2]=;

则下列说法正确的有___

a) s数组元素的值分别是“abcd”和“abcd”两个字符串的首地址。

b) s是指针数组名,它含有两个元素分别指向字符型一维数组。

c) s数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素。

d) s数组的两个元素中分别存放了字符'a'和'a'的地址

5). 若有以下说明:int a[5][9];则下列选项中对数组元素a[i][j]的引用错误的有___0<=i<4,0<=j<9)

a)*(a[0][0]+9*i+j) b)*(a+i)(j) c)*(a+i)+j) d)*(a[i]+j)

6). 若有定义:char *st=“how are you!”;下面程序段正确的有___

a) char a[11],*p;strcpy(p=a+1,&st[4]);

b) char a[11];strcpy(++a,st);

c) char a[11];strcpy(a,st);

d) char a[ ]p;strcpy(p=&a[1],st+2);

7). 设有以下说明语句:

struct stu

stutype ;

则下列叙述正确的有___

a) struct是结构体类型的关键字 b) struct stu是用户定义的结构体类型。

c) a和b都是结构体成员名 d)stutype是用户定义的结构体类型名

8). 设有定义语句: int x[6]=,p=x,i;

要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有___

a)for(i=0;i<6;i++)printf(“%2d”,*p++)

b)for(i=0;i<6;i++)printf(“%2d”,*p+i));

c)for(i=0;i<6;i++)printf(“%2d”,*p++)

d)for(i=0;i<6;i++)printf(“%2d”,(p)++

9). 下列叙述正确的有___

a) 函数可以嵌套定义,但不能嵌套调用。

b) 函数可以嵌套调用,也可以嵌套定义。

c) 函数不可以嵌套定义,但可以递归调用。

d) 函数可以嵌套调用,但不能嵌套定义。

10). 下列选项中可以将变量n清零的表达式有___

a)n=n&~n b)n=n&0 c)n=n^n d)n=n|n

3、程序填空(每空2分,共10空,共20分)

1) 请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。例如:

str1=“how do”,str2=“ you do?”,结果输出:how do you do?

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:#include<>

#include<>

#define n 40

void fun(char *str1,char *str2)

int i=0;

char *p1=str1;

char *p2=str2;

while(【1】)

i++;for( ;2】;i++)

p1+i)=【3】;

*(p1+i)='0';

main()

char str1[n],str2[n];

clrscr();

printf("*input the string str1 & str2***n");

printf(" nstr1:")

gets(str1);

printf(" nstr2:")

gets(str2);

printf("*the string str1 & str2**");

puts(str1);

puts(str2);

fun(str1,str2);

printf("*the new string **n");

puts(str1);

2) 请补充函数fun(),该函数的功能是求一维数组x[n]的平均值,并对所得结果进行四舍五入(保留两位小数)。

2019软件大赛选拔试题

2012年全国软件大赛选拔试题。要求 在c盘根目录下建立学号加姓名的文件夹,每题的主文件名为题目的序号,所有答案保存在学号加姓名的文件夹中,将该文件夹压缩,最后将该压缩文件上传教师机即可。压缩文件的文件名就是文件夹的名称 1 有一个数学等式 ab cd ba dc,式中的一个字母代表一位数字,试找出...

06软件学院C语言样卷

考试时间 2小时考试形式 闭卷。注意 答案一定要写在答卷中,写在本试题卷中不给分。本试卷要和答卷一起交回。一 单项选择 每题2分,共20分 1 组成c语言程序的是 a 过程b 函数。c 子程序d 主程序 main 和子程序。2.从完成c源文件编辑,到生成执行文件,c语言处理系统必须执行的步骤依次为 ...

C语言试题

计算机程序设计基础 c语言 试题。姓名专业班级。使用班级 本科非计算机专业 理 工类 题号得分。一。二。闭卷。四。五。课程编号 1402011110答题时间 120分钟。总分。三。第1页 共9页 注 试卷中所有程序的运行环境为microsoft visual c 6.0。一 选择题 每小题1分,共2...