西华大学历年C语言程序设计专升本模拟考试
本试卷为西华大学历年C语言程序设计专升本模拟考试,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
C语言程序设计专升本模拟考试
一、理论基础 (共20题,每题1分,共计10分)
( D )
1、设有定义:int x=2; ,以下表达式中,值不为6的是________。
( C )
2、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是________。
( C )
3、有如下嵌套的if 语句 if(a<b) if(a<c) k=a; else k=c; else if(b<c) k=b; else k=c; 以下选项中与上述if 语句等价的语句是________。
( D )
4、英文小写字母d的ascii码为100,英文大写字母d的ascii码为
( B )
5、若 x 为 int 型变量 , 则执行以下语句后 ,x 的值为 。 x=6; x+=x-=x*x;
( C )
6、设有如下定义: struck sk
{
int a;
float b;
} data;
int *p;
若要使 p 指向 data 中的 a 域,正确的赋值语句是______。
( D )
7、假定 w 、 x 、 y 、 z 、 m 均为 int 型变量 , 有如下程序段 : w=1; x=2; y=3; z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后, m 的值是 ___________.
( C )
8、以下叙述错误的是________。
( D )
9、在c语言中,下列运算符优先级最高的是________。
( C )
10、设有定义int x; float y; 则10+x+y值的数据类型是________。
( D )
11、下列不属于逻辑运算符的是________。
( D )
12、无符号二进制整数10111转换成十进制整数,其值是________。
( B )
13、下列叙述中正确的是________。
( C )
14、结构化程序设计主要强调程序的()
( C )
15、下列关于指针说法的选项中,正确的是________。
( B )
16、设a=5、b=6、c=10、d=8、m=2、n=5,执行(m=a>b)&&(n=c>d)后n的值为______。
( A )
17、语句"while(!f); "中的条件"!f"等价于( )
( C )
18、表达式:10!=9的值是________。
( D )
19、若int类型占两个字节,则以下语句输出为________。 int k=-1;
printf("%d,%u\n",k,k);
( A )
20、以下叙述中错误的是____
二、控制结构 (共10题,每题1分,共计10分)
( C )
1、关于结构化程序设计原则和方法的描述错误的是________。
( C )
2、当从键盘上输入字符"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 )
3、switch语句不能用于下列哪种数据类型 ( )
( A )
4、有以下程序:
main()
{
int a=3,b=4,c=5,d=2;
if(a>b) if(b>c) printf("%d",d+++ 1);
else printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是 ______。
( B )
5、以下if语句书写正确的是________。
( B )
6、c语言中,关系表达式和逻辑表达式的值是________。
( B )
7、能正确表示a≥10或a≤0的关系表达式是________。
( D )
8、以下叙述中正确的是________。
( C )
9、以下叙述中正确的是________。
( D )
10、在c 的if 语句中,可用作条件的表达式是________。
三、循环结构 (共10题,每题1分,共计10分)
( C )
1、在do-while循环中,循环由do开始,用while结束,必须注意的是,在while表达式后面的 不能丢,它表示do-while循环的结束。
( B )
2、若 i 为整型变量 , 则以下循环语句的循环次数是 ____. for(i=2;i==0;) printf("%d",i--);
( C )
3、下列叙述中,正确的是________。
( C )
4、下列语句中执行跳转功能的语句是________。
( C )
5、下述关于break语句的描述中,( )是不正确的。
( B )
6、下列程序的输出结果是
#include<stdio.h>
main()
{
int i,a=0,b=0;
for(i=1;i<10;i++)
{
if(i%2==0)
{
a++;
continue;
}
b++;
}
printf("a=%d,b=%d",a,b);
}
( A )
7、以下程序的输出结果是 _______ 。
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++;
break;
case 1:b++;
break;
}
case 2:a++;
b++;
break;
}
printf("%d,%d\n",a,b);
}
( B )
8、若变量已正确定义:for(x=0,y=0;(y!=99&&x<4);x++) 则以上 for 循环()
( C )
9、以下叙述中正确的是________。
( B )
10、下面程序输出的结果为________。
#include <stdio.h>
int main()
{
int s=3;
switch(s)
{
case 5: printf("我");
break;
case 4: printf("是");
case 3: printf("好");
case 2: printf("学");
break;
default: printf("生");
}
}
四、数组/指针数组 (共10题,每题1分,共计10分)
( C )
1、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是________。
( C )
2、以下关于数组的描述正确的是______。
( C )
3、定义如下变量和数组 : int i;
int x[4][4]= { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
则下面语句的输出结果是 __________.
for(i=0;i<4;i++)
printf("%3d",x[i][3-i]);
( D )
4、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。
( B )
5、一个int型变量,在程序中多次频繁使用,最好定义它为________。
( C )
6、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
( C )
7、下列关于c语言字符数组描述正确的是________。
( A )
8、下列语句中正确的是________。
( C )
9、以下程序的输出结果是
typedef union {
long x[2];
int y[4];
char z[8];
} mytype;
mytype them;
main() {
printf("%d\n",sizeof(them));
}
( B )
10、c语言中数组下标的下限是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( A )
1、下列数据中属于"字符串常量"的是________。
( D )
2、如果在一个运算表达式中包含有逻辑运算、关系运算和算术运算,并且其中未用圆括号规定这些运算的先后顺序,那么这样的综合型表达式的运算顺序是______。
( D )
3、有以下程序:
#include<string.h>
main()
{
char *p="abcde\0ghjik\0";
printf("%d\n",strlen(p) );
}
程序运行后的输出结果是________。
( C )
4、有以下程序:
main()
{
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=o;ps--) puts(ps);
}
执行后的输出结果是________。
( B )
5、下列变量定义中,错误的是______。
( D )
6、下列字符常量的写法中,正确的是________。
( B )
7、以下关系表达式中,其值为true的是________。
( D )
8、以下选项中,合法的 c 语言常量是________。
( D )
9、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
( D )
10、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
六、函数/函数指针 (共10题,每题1分,共计10分)
( C )
1、c语言规定:main函数的位置________。
( B )
2、一个 c 语言程序总是从 开始执行。
( C )
3、c 语言中,若未说明函数的类型,则系统默认该函数的类型是 __________ 。
( C )
4、在printf的格式字符中,e格式字符的作用是________。
( B )
5、结构化程序设计所规定的三种基本控制结构是________。
( C )
6、下面说法正确的是________。
( C )
7、以下叙述中正确的是________。
( D )
8、若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是________。
( B )
9、C语言函数内定义的局部变量的隐含存储类别是
( B )
10、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
七、指针 (共10题,每题1分,共计10分)
( D )
1、设函数fun的定义形式为________。
void fun(char ch, float x )
{
…
}
则以下对函数fun的调用语句中,正确的是________。
( C )
2、以下程序段完全正确的是________。
( A )
3、以下不能正确计算代数式 值的c语言表达式是________。
( B )
4、以下关于return 语句的叙述中正确的是________。
( C )
5、下列关于形参的说法,正确的是________。
( A )
6、有以下程序:
#include<stdio.h> union pw
{
int i;
char ch[2];
}
a;
main()
{
a.ch[0]=13;
a.ch[1]=0;
printf("%d\n",a.i);
}
程序的输出结果是________。
( A )
7、程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的________。
( A )
8、下列对字符串的定义中,错误的是________。
( D )
9、以下对一维整型数组a的正确说明是________。
( A )
10、若调用一个函数,且此函数中没有return语句,则正确的说法是: 该函数________。
八、结构体 (共10题,每题1分,共计10分)
( C )
1、设有如下枚举类型定义: enum language
{
basic=3 , assembly , ada=100 , cobol , fortran
};
枚举量 fortran 的值为 。
( B )
2、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
( A )
3、c语言中用于定义类的关键字是________。
( A )
4、下列选项中不属于c语言的数据类型是________。
( B )
5、已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a*f(int t1,int*t2,struct a t3,struct a*t4) struct a p,*p1; int i; 则正确的函数调用语句为
( C )
6、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
( D )
7、有以下程序
#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 )
8、下列关于共用体类型变量的描述中,正确的是________。
( C )
9、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
( A )
10、在C语言中,下面那种数据类型不属于构造类型____
九、程序题 (共10题,每题1分,共计10分)
( D )
1、以下程序的输出结果是________。
main( )
{
int x=11,y=11;
printf("%d%d\\n",x--,--y);
}
( A )
2、有以下程序
void swap1(int c0[], int c1[])
{
int t ;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
}
void swap2(int *c0, int *c1)
{
int t;
t=*c0;
*c0=*c1;
*c1=t;
}
main()
{
int a[2]={3,5} , b[2]={3,5} ;
swap1(a, a+1);
swap2(&b[0], &b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
程序运行后的输出结果是________。
( A )
3、若有以下定义和语句 char sl[10]= "abcd!", *s2="n123\\";
printf("%d %d\n", strlen(s1),strlen(s2));
则输出结果是________。
( B )
4、有以下程序
void swap1(int c[])
{
int t;
t=c[0];
c[0]=c[1];
c[1]=t;
}
void swap2(int c0,int c1)
{
int t;
t=c0;
c0=c1;
c1=t;
}
main( )
{
int a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
其输出结果是________。
( C )
5、有以下程序
main()
{
int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
//短路问题 printf("%d,%d\n",k,m);
}
程序运行后的输出结果是________。
( A )
6、以下程序的输出结果是 __________.
#include<stdio.h>
void main()
{
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][i]);
printf("\n");
}
( C )
7、下列程序的输出结果是________。
main( )
{
char a[10]={9,8,7,6,5,4,3,2,1,0},* p=a + 5;
printf("%d",*--p);
}
( B )
8、下面程序的输出是________。 typedef union
{
long x[2];
int y[4];
char z[8];
}
mytype;
mytype them;
void main()
{
printf("%d\n", sizeof(them));
}
( C )
9、设有如下定义:int ix=10,iy=3,iz;
则语句printf("%d\n",iz=(ix%iy,ix/iy));
的输出结果是________。
( D )
10、以下程序的输出结果是________。
main()
{
int i,j,k,a=3,b=2;
i=(--a==b++)?--a:++b;
j=a++;
k=b;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
相关标签:
- C语言
- 西华大学
- 专升本模拟考试