郑州航空工业管理学院2022年计算机C语言专升本模拟考试

本试卷为郑州航空工业管理学院2022年计算机C语言专升本模拟考试,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

计算机C语言专升本模拟考试

一、理论基础 (共20题,每题1分,共计10分)

(  B  )
1、设"int x=2,y=1; ",则表达式(!x || y--)的值i是________。
A、0
B、1
C、2
D、-1
(  C  )
2、设x,y,z,s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z后,则s的值为:
A、不定值
B、2
C、1
D、0
(  D  )
3、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( )
A、p=q
B、*p=*q
C、n=*q
D、p=n
(  C  )
4、若 x=0 , y=3 , z=3, 以下表达式值为 0 的是________。
A、!x
B、x<y? 1:0
C、x%2&&y==z
D、y=x||z/3
(  C  )
5、在定义 int a[5][4]; 之后 , 对 a 的引用正确的是__________。
A、a[2][4]
B、a[1,3]
C、a[4][3]
D、a[5][0]
(  D  )
6、以下选项中,当x为大于1的奇数时,值为0的表达式是________。
A、x%2==1
B、x/2
C、x%2!=0
D、x%2==0
(  A  )
7、表示一条指令的存储单元的符号地址称________。
A、标号
B、变量
C、偏移量
D、类型
(  A  )
8、若有定义语句:int a=3,b=2,c=1; 以下选项中错误的赋值表达式是______。
A、a=(b=4)=3;
B、a=b=c+1;
C、a=(b=4)+c;
D、a=1+(b=c=4);
(  C  )
9、下列各项关于变量的描述中正确的是________。
A、变量名不是标识符
B、变量名的字符是不区分大小写的
C、变量名的定义必须符合标识符的定义规则
D、变量属性分为基本类型和复合类型
(  A  )
10、下列( )是合法标识符。
A、_book
B、5files
C、+static
D、-3.14159
(  B  )
11、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是______。
A、x=x*100+0.5/100.0
B、x=(x*100+0.5)/100.0
C、x=(in(x*100+0.5)/100.0
D、x=(x/100+0.5)*100.0
(  B  )
12、下列形式的常数中,不符合c语言语法规范的是______。
A、.45
B、±123
C、25.6e-2
D、4e3
(  C  )
13、用高级程序设计语言编写的程序称为________。
A、目标程序
B、可执行程序
C、源程序
D、伪代码程序
(  B  )
14、在c中,合法的字符常量是 ______。
A、‘084’
B、‘\x43’
C、‘ah’
D、“0”
(  A  )
15、设有说明语句:char a='\123'; 则变量a______。
A、包含1个字符
B、包含2个字符
C、包含3个字符
D、包含4个字符
(  A  )
16、以下标识符中,不合法的是________。
A、4d
B、_8_d
C、int
D、key
(  C  )
17、已知int x=10,y=20,z=30; 以下语句:if(x<y) z=x; x=y; y=z; 执行后x,y,z的值是________。
A、x=10, y=20, z=30
B、x=20, y=30, z=30
C、x=20, y=10, z=10
D、x=20, y=30, z=10
(  B  )
18、设有以下程序段:int y; y=rand()%30+1; 则变量 y 的取值范围是________。
A、0≤y≤30
B、0<y≤30
C、1<y<30
D、1<y≤30
(  B  )
19、执行以下程序段后,输出结果和a的值是________。 int a=10; printf("%d",a++);
A、10 和 10
B、10 和 11
C、11 和 10
D、11 和 11
(  C  )
20、下列变量中合法的是
A、XX.Tom
B、3a6b
C、_6a7b
D、$ABC

二、控制结构 (共10题,每题1分,共计10分)

(  C  )
1、设变量a、b、e、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d) y=0; else y=1; 该语句所表示的含义是________。
A、y=0,a
B、y=0,a
y=1,a≥b y一1,a≥b且c≠d
C、y=0,a
D、y=0,a
y=1,a<B且C≠D y="1,c≠d
(  B  )
2、与"y=(x>0?1:x<0?-1:0)";的功能相同的if语句是________。
A、if(x>0)y=1;
B、if(x)
else if(x>0)y=1;
else y=0; else if(x%0)y=-1;
else y=0;
C、y=-1
D、y=0;
if(x) if(x>=0)
if(x>O)y=1; if(xi>=O)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
(  C  )
3、当从键盘上输入字符"12134211"下面程序的 输出结果是________。
main( )
{
char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{
scanf("%c",&s);
switch(s)
{
default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++;
}
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A、v1=4,v2=2,v3=1,v4=1
B、v1=4,v2=9,v3=3,v4=1
C、v1=5,v2=8,v3=6,v4=1
D、v1=8,v2=8,v3=8,v4=8
(  C  )
4、有以下程序
main( )
{
char k;
int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case ‘0’: printf("another\n");
case ‘1’: printf("number\n");
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是________。
A、another
number
B、another
number
another
C、another
number
number
D、number
number
(  A  )
5、以下程序的输出结果是
main()
{
int a=0,i;
for(i=;i<5;i++)
{
switch(i)
{
case 0: case 3:a+=2;
case 1: case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A、31
B、13
C、10
D、20
(  C  )
6、下列说法中不正确的是________。
A、switch语句功能可以由if-else语句实现
B、若用于比较的数据类型为double,则不能用switch语句来实现
C、if-else语句的执行效率总是比switch语句高
D、case子句可以有多个语句,并且不需要用大括号””括起来
(  B  )
7、下列表达式为关系表达式的为_________。(其中a为一整型变量)
A、3+4*5
B、a==10
C、a>0a:-a
D、a=1
(  A  )
8、若x和y是程序中的两个整型变量,则下列if语句中正确的是________。
A、if(x==0) y=1; else y=2;
B、if(x==0) then y=1 else y=2;
C、if(x==0) y=1 else y=2;
D、if x==0 y=1; else y=2;
(  A  )
9、下列程序的运行结果是________。
main()
{
int a=-5,b=1,c=1;
int x=0,y=2,z=0;
if(c>0)x=x+ y;
if(a<=0)
{
if(b>0) if(c<=0)y=x-y;
}
else if(c>0)y=x-y;
else z=y;
printf("%d,%d,%d\n",x,y,z);
}
A、2,2,0
B、2,2,2
C、0,2,0
D、2,0,2
(  C  )
10、结构化程序设计所规定的三种基本控制结构是()。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、函数

三、循环结构 (共10题,每题1分,共计10分)

(  C  )
1、下列标识符不是关键字的是________。
A、break
B、char
C、Swith
D、return
(  C  )
2、若有以下程序段,w和k都是整型变量:
w=k;
LB:if(w==0)
goto LE;
w--;
printf("*") goto LB;
LE;
则不能与上面程序段等价的循环语句是________。
A、for(w=k;w!—0;w--)printf(”*”);
B、for(w=k;W;--w)printf(”*”);
C、w=k;
while(w--!=O)printf(”*”);
D、w=k:
W++;do
{
w--;printf(”*”);)while(w!=O);
(  A  )
3、设 i 和 x 都是 int 类型,则 for 循环语句 。 for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);
A、最多执行 10 次
B、最多执行 9 次
C、是无限循环
D、循环体一次也不执行
(  C  )
4、有以下程序
main() {
int i;
for(i=0;i<3;i++)
switch(i) {
case 0: prinft("%d",i);
case 2: prinft("%d",i);
default:prinft("%d",i);
}
}
程序运行后的输出结果是________。
A、022111
B、021021
C、000122
D、012
(  A  )
5、有以下程序:
#include <stdio.h>
main()
{
int a=1,b=2;
for(;a<12;a++)
{
b+=a*2;
a+=3;
}
printf("%d,%d\n",b,a);
}
程序运行后的输出结果是________。
A、32,13
B、46,10
C、72,13
D、72,10
(  B  )
6、有以下程序
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是________。
A、Y=0
B、Y=-1
C、Y=1
D、while构成无限循环
(  B  )
7、若变量已正确定义:for(x=0,y=0;(y!=99&&x<4);x++) 则以上 for 循环()
A、执行 3 次
B、执行 4 次
C、执行无限次
D、执行次数不定
(  D  )
8、以下叙述中正确的是________。
A、while 循环的循环体至少执行 1 次
B、while 循环的循环控制条件比 do-while 循环的循环控制条件复杂
C、do-while 循环体不能是复合语句
D、do-whil 循环的循环体至少执行 1 次
(  D  )
9、以下程序中,while循环的循环次数是______
main()
{
int i=0;
while(i<10)
{
if(i<1) continue;
if(i==5) break;
i++;
}
}
A、1
B、4
C、6
D、死循环,不能确定次数
(  A  )
10、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
A、循环体将执行一次
B、循环体将执行两次
C、循环体将执行无限次
D、系统将提示有语法错误

四、数组/指针数组 (共10题,每题1分,共计10分)

(  B  )
1、以下程序调用findmax函数返回数组中的最大值
findmax(int *a,int n)
{
int *p,*s;
for(p=a,s=a; p-a<n; p++) if ( ) s=p;
return(*s);
}
main()
{
int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
在下划线处应填入的是________。
A、p>s
B、*p>*s
C、a[p]>a[s]
D、p-a>p-s
(  D  )
2、以下函数findmax拟实现在数组中查找最大值并作为函数值返回, 但程序中有错导致不能实现预定功能
#define MIN -2147463647
int findmax(int x[],int n)
{
int i,max;
for(i=0;i<n;i++)
{
max=MIN;
if(max<x[i]) max=x[i];
}
return max;
}
造成错误的原因是________。
A、定义语句int i,max中max未赋值
B、赋值语句max=MIN;中,不应该给max赋MIN值
C、语句if(max<x[i]) max=x[i];中判断条件设置错误
D、赋值语句max=MIN;放错了位置
(  D  )
3、设有如下定义 : char aa[2][20]={ "abcd", "abcd" }; 则以下说法中错误的是 __________.
A、aa 是个二维数组,可以存放 2 个 19 个字符以下的 字符串
B、aa 是个二维数组,每行中分别存放了字符串 "abcd" 和 "ABCD"
C、aa[0] 可以看作是一维数组名
D、aa[0][0] 可以看作是一维数组名
(  D  )
4、已知3个字符为:a、z和8,按它们的ascii码值升序排序,结果是________。
A、8,a,Z
B、a,8,Z
C、a,Z,8
D、8,Z,a
(  B  )
5、有如下定义语句:int a[]= {1,2,3,4,5 },则对语句int * p=a; 正确的描述是________。
A、语句int * p=a;定义不正确
B、语句int * p=a;初始化变量p,使其指向数组对象a的第一个元素
C、语句int * p=a;是把a[0]的值赋给变量p
D、语句int * p=a;是把a[1]的值赋给变量p
(  C  )
6、以下定义数组中错误的是________。
A、int a [10];
B、int a [2][20];
C、int a[20][ ];
D、int a[];
(  B  )
7、下列程序段的运行结果是________。
#include<stdio.h>
void main()
{
char str[]="abc",*p=str;
printf("%d\n",* (p+3));
}
A、67
B、0
C、字符'C'的地址
D、字符'C'
(  B  )
8、下面程序的运行结果是
#include<stdio.h>
main()
{
char a[]="morning",t;
int i,j=0;
for(i=1;i<7;i++) {
if(a[j]<a[i]) {
j=i;
t=a[j];
a[j]=a[7];
a[7]=a[j];
}
}
printf("%s", a);
}
A、mrgninr
B、m
C、moring
D、morning
(  C  )
9、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s);
其输出结果为________。
A、a book!
B、a book
C、a bo
D、a
(  D  )
10、若char a[10]; 已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是________。
A、gets(a);
B、scanf("%s",a);
C、for(i=0;i<10;i++)a[i]=getchar();
D、a=getchar();

五、字符串/字符串指针 (共10题,每题1分,共计10分)

(  D  )
1、s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s; 则以下选项中正确的是________。
A、if(s1>s2)S;
B、if(strcmp(s1,s2))S;
C、if(strcmp(s2,sl)>O)S;
D、if(stremp(s1,s2)>O)S;
(  C  )
2、在下列各项中,运算级别最低的为________。
A、算术运算符
B、关系运算符
C、逻辑运算符
D、圆括号( )
(  D  )
3、表达式x+1>x是________。
A、算术表达式
B、非法表达式
C、字符串表达式
D、关系表达式
(  D  )
4、以下正确的字符串常量是________。
A、"\\\"
B、'abc'
C、Olympic Games
D、""
(  C  )
5、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
A、11
B、10
C、9
D、8
(  C  )
6、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
A、char st[4][5]={"ABCDE"};
B、char s[5]={'A','B','C','D','E'};
C、char *s="ABCDE";
D、char *s; scanf("%s",*s);
(  C  )
7、设 char *s="\ta\017bc";
则指针变量s指向的字符串所占的字节数 是________。
A、9
B、5
C、6
D、7
(  A  )
8、以下正确的字符串常量是________。
A、"\\"
B、'abc'
C、OlympicGames
D、'A'
(  C  )
9、判断两个字符串是否相等,正确的表达方式是________。
A、while(s1==s2)
B、while(s1=s2)
C、while(strcmp(s1,s2)==0)
D、while(strcmp(s1,s2)=0)
(  A  )
10、下面不能正确进行字符串赋值操作的语句是________。
A、char s[5]={"ABCDE"};
B、char s[5]={'A','B','C','D','E'};
C、char *s;s="ABCDEF";
D、char *s; scanf("%s",s);

六、函数/函数指针 (共10题,每题1分,共计10分)

(  D  )
1、以下叙述中不正确的是________。
A、在不同的函数中可以使用相同名字的变量
B、函数中的形式参数是局部变量
C、在一个函数内定义的变量只在本函数范围内有效
D、在一个函数内的复合语句中定义的变量在本函数范围内有效
(  B  )
2、下面函数的功能是______。 sss ( char *s , char *t )
{
while (( *s ) && ( *t ) && ( *t++== *s++ )) ;
return ( *s-*t ) ;
}
A、求字符串的长度
B、比较两个字符串的大小
C、将字符串 s 复制到字符串 t 中
D、将字符串 s 接续到字符串 t 中
(  D  )
3、在函数声明中,下面哪项是不必要的________。
A、函数参数的类型和参数名
B、函数名
C、函数的类型
D、函数体
(  C  )
4、以下叙述中,不正确的是________。
A、在一个函数中,可以有多条return语句
B、函数的定义不能嵌套,但函数的调用可以嵌套
C、函数必须有返回值
D、不同的函数中可以使用相同名字的变量
(  B  )
5、若定义a=3,b=4,执行printf("%d, %d",(a,b),(b,a)); 的输出结果为________。
A、3,4
B、4,3
C、3,3
D、4,4
(  B  )
6、以下程序中函数f的功能是:当flag为1时,进行由小到大排序;
当flag为0时,进行由大到小排序。
void f (int b[],int n,int flag)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(flag?b[i]>b[j]:b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
main()
{
int a[10]={5,4,3,2,1,6,7,8,9,10}, i;
f(&a[2],5,0);
f(a,5,1);
for(i=0;i<10;i++) printf("%d,",a[i]);
}
程序运行后的输出结果是______。
A、1,2,3,4,5,6,7,8,9,10,
B、3,4,5,6,7,2,1,8,9,10,
C、5,4,3,2,1,6,7,8,9,10,
D、10,9,8,7,6,5,4,3,2,1,
(  A  )
7、以下关于字符串的叙述中正确的是________。
A、空串比空格打头的字符串小
B、两个字符串中的字符个数相同时才能进行字符串大小的比较
C、可以用关系运算符对字符串的大小进行比较
D、C 语言中有字符串类型的常量和变量
(  C  )
8、若x为int型变量,则以下函数fun的类型为________。
fun(x)
{
printf("%d\n",x);
}
A、返回值为void类型
B、无法确定返回值
C、返回值为int类型
D、无返回值
(  C  )
9、以下叙述中正确的是________。
A、语言中的关键字不能作变量名,但可以作为函数名
B、标识符的长度不能任意长,最多只能包含 16 个字符
C、标识符总是由字母、数字和下划线组成,且第一个字符不得为数字
D、用户自定义的标识符必须见名知义,如果随意定义,则会出编译错误
(  C  )
10、以下叙述中正确的是________。
A、两个字符串可以用关系运算符进行大小比较
B、函数调用 strlen(s)会返回字符串 s 实际占用内存的大小(以字节为单位)
C、C 语言本身没有提供对字符串进行整体操作的运算符
D、当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和

七、指针 (共10题,每题1分,共计10分)

(  C  )
1、对二维数组的正确定义是________。
A、int a[ ] [ ]={1,2,3,4,5,6};
B、int a[2] [ ]={ 1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
(  A  )
2、若有以下的定义: int a[ ]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }, *p=a; 则值为 3 的表式是______。
A、p+=2 , * ( p++ )
B、p+=2 , *++p
C、p+=3 , *p++
D、p+=2 , ++*p
(  D  )
3、有如下程序
#include<stdio.h>
void main()
{
char ch[80]="123abcdefg*&";
int j;
long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++) if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]+'e'-'e';
puts(ch);
}
该程序的功能是 __________.
A、测字符数组 ch 的长度
B、将数字字符串 ch 转换成十进制数
C、将字符数组 ch 中的小写字母转换成大写
D、将字符数组 ch 中的大写字母转换成小写
(  A  )
4、下列对字符数组进行初始化的语句中,______ 是正确的。
A、char s 1[]=“abcd”;
B、char s2 [3]=”xyz”;
C、char s 3[] [3]={‘a’,‘x’,‘y’}
D、char s3 [][3]={“xyz”,“mnp”};
(  A  )
5、关于函数的返回值,正确的是________。
A、由return语句返回时,只带回一值,其类型在函数定义时确定
B、其类型由调用表达式决定
C、函数可以没有返回值,这时在函数定义中,函数的类型说明就没必要了
D、函数调用就要有返回值,否则调用就没有意义了
(  C  )
6、若有下面的程序片段:
int[12]={0},*p[3],**pp,i;
for(i=0;i<3;i) p[i]=&a[i*4];
pp=p
则对数组元素的错误引用是________。
A、pp[0][1]
B、a[10]
C、p[3][1]
D、*(*(p+2)+2)
(  C  )
7、用冒泡排序对4,5,6,3,2,1进行从小到大排序,第三趟排序后的状态为________。
A、4 5 3 2 1 6
B、4 3 2 1 5 6
C、3 2 1 4 5 6
D、2 1 3 4 5 6
(  A  )
8、若有 int a[10], *p=a;
,且 a 数组已赋值,则与 a[4]不等价的表达式为________。
A、p+4
B、*(p+4)
C、*(a+4)
D、p[4]
(  C  )
9、语句int (*ptr)();
的含义是______。
A、ptr 是指向一维数组的指针变量
B、ptr 是指向int 型数据的指针变量
C、ptr 是指向函数的指针,该函数返回一个int 型数据
D、ptr 是一个函数名,该函数的返回值是指向int 型数据的指针
(  A  )
10、以下叙述中正确的是()。
A、构成. C程序的基本单位是函数
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其它函数之前
D、所有被调用的函数一定要在调用之前进行定义

八、结构体 (共10题,每题1分,共计10分)

(  B  )
1、struct ex
{
int x ;
float y;
char z ;
}
example;
则下面的叙述中不正确的是________。
A、struct结构体类型的关键字
B、example是结构体类型名
C、x,y,z都是结构体成员名
D、struct ex是结构体类型
(  D  )
2、有以下程序
#include <stdio.h>
struct tt
{
int x;
struct tt*y;
}
*p;
struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};
main()
{
int i;
p=a;
for(i=1;i<=2,i++)
{
printf("%d,",p->x);
p=p->y;
}
}
程序的运行结果是________。
A、20,30,
B、30,17
C、15,30,
D、20,15
(  D  )
3、下列选项中属于c语言构造类型的是________。
A、指针类型
B、空类型
C、枚举类型
D、数组类型
(  A  )
4、对以下定义的表述中,正确的是________
struct node
{
int num;
char name[10];
}
stud;
A、stud是一个结构体变量
B、stud是一个结构体类型
C、node是一个结构体数据
D、node是一个结构体变量
(  C  )
5、以下程序的输出结果是
#include<stdio.h>
struct st
{
int x;
int *y;
}
*p;
int dt[4]= {10,20,30,40 };
struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{
p=aa;
printf("%d\n",++(p->x));
}
A、10
B、11
C、51
D、60
(  A  )
6、有以下程序
struct s
{
int n;
int a[20];
}
;
void f(int *a, int n)
{
int i;
for(i=0;i<n-1;i++) a[i]+=i;
}
main()
{
int i;
struct s s={10,
{
2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0;i<s.n;i++) printf("%d,",s.a[i]);
}
程序运行后的输出结果是______。
A、2,4,3,9,12,12,11,11,18,9,
B、3,4,2,7,9,8,6,5,11,10,
C、2,3,1,6,8,7,5,4,10,9,
D、1,2,3,6,8,7,5,4,10,9,
(  D  )
7、有如下定义: struct student
{
char name[10];
int age;
char gender;
}
std[3], *p=std;
则以下各输入语句中错误的是________。
A、scanf("%d",&(*p).age);
B、scanf("%c",&std[0].gender);
C、scanf("%c",&(p->gender));
D、scanf("%s",&std.name);
(  D  )
8、设有以下说明语句:
typedef struct stu
{
int a;
float b;
}
stutype;
则下面叙述中错误的是________。
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名
(  A  )
9、以下关于 c 语言数据类型使用的叙述中错误的是________。
A、若只处理“真”和“假”两种逻辑值,应使用逻辑类型
B、若要保存带有多位小数的数据,可使用双精度类型
C、整数类型表示的自然数是准确无误差的
D、若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型
(  B  )
10、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.2f\n",sum);
}
程序运行后的输出结果是________。
A、270
B、270.00
C、285.00
D、285

九、程序题 (共10题,每题1分,共计10分)

(  D  )
1、若有定义和语句: int **pp,*p, a=20, b=10;
pp=8p;
p=&a;
p=&b;
printf("%d,%d\n",*p,**pp);
则输出结果是________。
A、20,10
B、20,20
C、10,20
D、10,10
(  C  )
2、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是________。 if(x++>5) printf("%d",x); else printf("%d\n",x --);
A、7和5
B、6和3
C、7和4
D、6和4
(  C  )
3、有以下程序:
void swap(char*x,char*y)
{
char t;
t=*x;
*x=*y;
*y=t;
}
main()
{
char*s1="abe",*s2="123"; swap(s1,s2);
printf("%s,%s\n",s1,s2);
}
程序执行后的输出结果是________。
A、123,abe
B、abc.123
C、1bc,a23
D、321,cba
(  A  )
4、以下程序片段( ) 。
main ( )
{
int x=0,y=0,z=0;
if (x=y+z) printf("***");
else printf("###");
}
A、输出:###
B、输出:***
C、可以编译,但不能通过连接,所以不能运行
D、有语法错误,不能通过编译
(  A  )
5、有以下程序
#define f(x) x*x
main( )
{
int i;
i=f(4+4)/f(2+2);
printf("%d\n",i);
}
执行后输出结果是________。
A、28
B、22
C、16
D、4
(  C  )
6、下列程序的输出结果是 __________.
#include <stdio.h>
void main()
{
char b[]="abcdefg";
char p=0;
while(p<7) putchar(b[p++]);
putchar('\n');
}
A、GFEDCBA
B、BCDEFG
C、ABCDEFG
D、GFEDCB
(  B  )
7、设a=2,b=3,c=4,d=5,下列表达式的值是________。 a > b and c < = d or 2 * a > c
A、True
B、False
C、-1
D、1
(  C  )
8、有以下程序
main()
{
int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是______。
A、3
B、5
C、-1
D、-2
(  C  )
9、以下程序段的输出结果是________。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%2.1f,%2.1f",a,b,c);
A、无输出
B、12,123.5,12345.5
C、1234,123.5,12345.5
D、1234,123.4,1234.5
(  C  )
10、有以下程序
main( )
{
int m=0256,n=256;
printf("%o %o\n",m,n);
}
程序运行后的输出结果是________。
A、0256 0400
B、0256 256
C、256 400
D、400 400
相关标签:
  • C语言
  • 郑州航空工业管理学院
  • 专升本模拟考试