安徽理工大学往年C语言
本试卷为安徽理工大学往年C语言,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言
一、单项选择题 (共50题,每题2分,共计100分)
( D )
1、能正确表示a和b同时为正或同时为负的逻辑表达式是________。
( A )
2、若有定义:int x,*pb;则正确的赋值表达式是________。
( A )
3、有以下程序:
main()
{
int c=0,k;
for(k=1;k<3;k++)
switch(k)
{
default:c+=k;
case2:c++;
break;
case4:c+=2;
break;
}
printf("%d\n",c);
}
程序运行后的输出结果是________。
( A )
4、c语言中,合法的字符型常数是________。
( B )
5、设有字符串a="he has 钱!",则该字符串的长度为( )。
( A )
6、在c语言中对于实型数组,其每个数组元素的类型是________。
( B )
7、设j为int型变量,则下面for循环语句的执行结果是________。 for(j=10;j>3;j--)
{
if(j%3)j--;
--j;
--j;
printf("%d",j);
}
( C )
8、在c语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:________。
( D )
9、执行下面程序段,给x、y赋值时,不能作为数据分隔符的是________。 int x,y; scanf("%d%d",&x,&y);
( C )
10、已知x=43,ch='a',y=0,则表达式(x>=y&&ch<'b'&&!y)的值是________。
( A )
11、若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是________。
( A )
12、有以程序
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[9];
char sex;
float score[2];
} stu;
void f( stu a)
{
stu b={"zhao" ,’m’,85.0,90.0} ;
int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i];
}
main()
{
stu c={"qian",’p’,95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
程序的运行结果是________。
( B )
13、下列关于c语言的说法错误的是________ 。
( B )
14、已知char x[]="hello", y[]={ 'h','e','a','b','e' }; 则关于两个数组长度的正确描述是________。
( B )
15、在一个应用程序中有如下定义:int a[]= {1,2,3,4,5,6,7,8,9,10 },为了打印输出数组a的最后一个元素,下面正确的代码是________。
( D )
16、若有表达式(w)(--x):(++y),则其中与w等价的表达式是________。
( B )
17、下列语句序列执行后,x的值是________。 int a=3,b=4,x=5; if (++ a==b)x=++a*x;
( A )
18、如果用数组名作为实参,则传递给形参的是________。
( D )
19、以下能正确定义整型变量a,b和c,并为其赋初值1的语句是______。
( A )
20、下列定义数组的语句中,正确的是______。
( C )
21、下列描述中正确的是________。
( C )
22、以下定义数组中错误的是________。
( A )
23、下述程序的输出结果是________。
#include<stdio.h>
void main() {
char a=1,b=2;
char c=a^b<<2;
printf("\n%d",c);
}
( A )
24、下列程序的运行结果是________
#include<stdio.h>
main()
{
int x=5,a=1,b=2,c=5,d=0;
if(a<b) if(b!=3) if(!c) x=1;
else if(d) x=l;
else x=-1;
printf("%d",x);
}
( C )
25、以下能将字符串,you are luck!正确读入的语句组是________。
( D )
26、以下不正确的转义字符是________。
( B )
27、关于c语言中print()函数与scanf()函数,下列描述中正确的是________。
( D )
28、要定义一个字符串,下列选项中错误的是________。
( D )
29、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
( C )
30、以下程序的输出结果是______。
main()
{
int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2) printf("%d",p[i]);
}
( C )
31、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
( D )
32、若有下面的说明和定义,则sizeof(struct aa)的值是______。
struct aa
{
int r1;
double r2;
float r3;
}
maya;
( D )
33、有以下程序
#include <stdio.h>
main()
{
struct stu
{
char name[9];
char sex;
double score[2];
}
;
struct stu a={"zhao",'m',85.0,90.0},b={"qian",'f',95.0,92.0};
b=a;
printf("%s,%c,%2.0f,%2.0f\n",b.name,b.sex,b.score[0],b.score[1]);
}
程序的运行结果是______。
( C )
34、设x为整型变量,和表达式"!(!x)"值完全相同的表达式是________。
( D )
35、利用函数fseek可实现的操作是________。
( B )
36、判断实数 x 属于闭区间 [a, b ] 的表达式为 ▁▁▁▁▁设a为整型变量,不能正确表达数学关系10<a<15的c语言表达是________。
( B )
37、若想通过a&b来使a的二进制码中的首尾两位为原来的值,而其余为0,则b应为:(设变量a,b均占一个字节)
( B )
38、有以下程序段:char c1,c2,c3; scanf("%c%c%c",&c1,&c2,&c3); 若要给 c1、c2、c3 分别输入字母 a bc,则以下对输入形式的描述正确的是________。
( B )
39、对长度为 8 的数组进行快速排序,最多需要的比较次数为________。
( D )
40、下列语句的结果是________。
main()
{
int j;
j=3;
printf("%d,",++j);
printf("%d",j++);
}
( A )
41、设变量定义为"int x, *p=&x; ",则&(*p)相当于
( A )
42、以下正确的字符串常量是________。
( B )
43、字符串指针变量中存入的是________。
( B )
44、以下有关switch语句的正确说法是________。
( D )
45、下面程序有错误的行是(行前数字表示行号) 。
1 main()
{
2 int a[3]={3*0};
3 int i;
4 for(i=0;i<3;i++)
5 scanf("%d",&a[i]);
6 for(i=1;i<3;i++)
7 a[0]=a[0]+a[i];
8 printf("%d\n",a[0]);
}
( B )
46、下面语句中( )是c 语言的正确赋值语句。
( A )
47、若有定义 int a[10],*p=a;,则 p+5 表示
( B )
48、C语言中以下几种运算符的优先次序()的排列是正确的。
( A )
49、函数 rewind 的作用是()。
( D )
50、若有说明:int a[3][4];则数组 a 中各元素()。
相关标签:
- C语言
- 安徽理工大学