成都中医药大学2022年C语言程序设计冲刺卷
本试卷为成都中医药大学2022年C语言程序设计冲刺卷,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
C语言程序设计冲刺卷
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
( C )
2、设变量a、b、e、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d) y=0; else y=1; 该语句所表示的含义是________。
( C )
3、设有定义:"double x[10],*p=x; ",以下能给数组x下标为6的元素读人数据的正确语句是________。
( D )
4、有以下程序
main( )
{
int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf("%d\n",s);
}
程序执行后的输出结果是________。
( A )
5、有定义语句:int x, y; 若要通过scanf("%d,%d",&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是________。
( D )
6、若有以下说明语句:
struct student
{
int num;
char name[ ];
float score;
} stu;
则下面的叙述不正确的是: ( )
( D )
7、执行下列程序后的输出结果是 _________.
#include <stdio.h>
void main( )
{
int k=4,a=3,b=2,c=1;
printf("%d\n",k<a?k:c<b?c:a);
}
( B )
8、若有定义:int a[4][10]; 则以下选项中对数组元素a[i][j]引用错误的是______。 (0<=i<4,0<=j<10)
( C )
9、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
( D )
10、下列c语言标识符中,合法的是________。
( D )
11、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
( C )
12、设有如下说明
typedef struct st
{
long a;
int b;
char c[2];
}
new;
则下面叙述中正确的是______。
( B )
13、有以下程序
main()
{
int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
for(i=0;i<3;i++)
for(k=i+1;k<4;k++)
if(a[i][i]<a[k][k])
{
t=a[i][i];
a[i][i]=a[k][k];
a[k][k]=t;
}
for(i=0;i<4;i++)
printf("%d,",a[0][i]);
}
程序运行后的输出结果是________。
( B )
14、定义如下变量和数组: int k; int a[3][3]= {9,8,7,6,5,4,3,2,1}; 则下面语句的输出结果是________。
for(k=0;k<3;k++) printf("%d",a[k][k]);
( D )
15、下列运算符结合性不同的是________。
( A )
16、以下选项中哪些描述是不正确的?
( A )
17、以下叙述中错误的是________。
( B )
18、执行下面的程序段int x=5; char z='a'; int b; b=((x&15)&&(z<'a') ); 后,b的值为________。
( C )
19、以下是死循环的程序段是________。
( B )
20、以下程序的输出结果是________。
main( )
{
char c1='6', c2='0' ;
printf ( ''%d,%d, %d\n'' , c1, c2, c1-c2);
}
二、填空题 (共10题,每题2分,共计20分)
1、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]的值为________,a[2][1]得到的值为________。
2、程序结果:
void main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum is %d\n",sum);
}
3、执行下列程序段后,输出的a的值是_____________。
main( )
{
int a = 0;
switch(a)
{
case 0: a--;
break;
case 1: a++;
break;
case 2: a=a+5;
break
}
printf("%d",a);
}
4、设a=3,b=2,c=1,则a>b>c的值为________。
5、在循环的过程中,有时要提前中止循环,通常采用 () 语句。
6、设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为 ________。
7、编译预处理包括宏定义、文件包含、( )等。
8、在c 语言中,一个函数一般由两个部分组成,它们是【1】和【2】。
9、函数del 的作用是删除有序数组a 中的指定元素x。已有调用语句n=del(a,n,x);
其中实参n 为删除数组元素的个数,赋值号左边的n 为删除后数组元素的个数。请填空。del(int a[],int n,int x)
{
int p,i;
p=0;
while (x>=a[p]&&p<n)【1】________;
for(i=p-1;i<n;i++)【2】________;
n=n-1;
return n;
}
10、int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b的值为______。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:求两个正整数[m,n]之间所有既能被3整除也能被7整除的整数之和例如:m=1,n=1000,则程序的输出结果应为:_________________。
2、编写程序:使用结构体,创建一个长度为n的链表。
3、输入一个字符串和一个特定字符,在字符串中删除从该特定字符开始的所有字符。例如输入字符串为"abcdefg",特定字符为'd',删除后的字符串为"abc";输入字符串为"abcdefg",特定字符为'x',则输出“特定字符不存在”。
相关标签:
- C语言
- 成都中医药大学
- 冲刺卷