武汉工程大学计算机C语言专升本
本试卷为武汉工程大学计算机C语言专升本,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
计算机C语言专升本
一、理论基础 (共20题,每题1分,共计10分)
( A )
1、有定义:"int a=2,b=3,c=4;",则下列选项中值为0的表达式是________。
( C )
2、当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是________。
( A )
3、以下不能正确计算代数式 值的c语言表达式是________。
( A )
4、若有说明语句:int a,b,c,*d=&c; 则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是________。
( A )
5、以下不能正确赋值的是______。
( A )
6、如下陈述中正确的是________。
( A )
7、下列关于指针运算的描述中,错误的是________。
( B )
8、若变量已正确定义并赋值,下面符合c语言语法的表达式是________。
( A )
9、有一个数是123,它与十六进制数53相等,那么该数值是________。
( B )
10、现代计算机中采用二进制数制是因为二进制数的优点是______。
( B )
11、一个字长为8位的无符号二进制整数能表示的十进制数值范围是________。
( D )
12、为了计算s=15!(15的阶乘),则s变量应定义为________。
( C )
13、下列描述中,正确的是________。
( C )
14、下列程序段的输出是____。int c[]={1, 3, 5};
int *k=c+1;
printf("%d", *++k);
( C )
15、下列不正确的转义字符是________。
( C )
16、下列关于指针变量的描述,不正确的是________。
( B )
17、以下叙述中不正确的是________。
( D )
18、下列运算符中是c语言关系运算符的是________。
( D )
19、指针x指向的整型变量值为25,则”printf(“%d\n”,++*x);” 的输出是____
( A )
20、C语言中,char 类型数据占()。
二、控制结构 (共10题,每题1分,共计10分)
( A )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
( D )
2、能正确表示a和b同时为正或同时为负的逻辑表达式是________。
( C )
3、设a、b、e、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是________。
( C )
4、关于结构化程序设计原则和方法的描述错误的是________。
( D )
5、下列描述正确的是________。
( C )
6、下列程序的输出结果是________。
main ()
{
int a = 4, b = 5, c;
if (a < b)
{
c = a * b;
printf ("%d,%d,%d\n", b, a, c);
}
else
{
c = b / a;
printf ("%d,%d,%d\n", b, a, c);
}
}
( A )
7、有以下程序:
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);
}
程序运行后的输出结果是 ______。
( C )
8、下列if语句中,不正确的是________。
( B )
9、c语言的switch语句中case后____
( A )
10、c语言的if语句中,用作判断的表达式为____
三、循环结构 (共10题,每题1分,共计10分)
( C )
1、在c语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:________。
( B )
2、对于while、do…while循环结构,正确的说法是________。
( B )
3、c语言的跳转语句中,对于break和continue说法正确的是________。
( C )
4、在下列选项中,没有构成死循环的程序是________。
( A )
5、以下for语句中不是死循环的是________。
( A )
6、下列程序的运行结果是________
#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);
}
( A )
7、while(fabs(t)<1e-5)if(!s/10)break; 循环结束的条件是________。
( A )
8、以下关于continue语句的描述中正确的是________。
( C )
9、与下面程序段等价的是________。
for(n=100;n<=200;n++)
{
if(n%3==0) continue;
printf("%4d",n);
}
( B )
10、C语言中 while 和 do—while 循环的主要区别是
四、数组/指针数组 (共10题,每题1分,共计10分)
( D )
1、有数组:char a[ ]="this is an egg"; 。请问该数组到底占了几个字节?
( C )
2、若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是________。
( B )
3、若有以下定义 int x[10], *pt=x; 则对x数组元素的正确引用是________。
( B )
4、有如下说明: int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是________。
( A )
5、下面关于数组的初始化正确的是________。
( C )
6、在c语言中引用数组元素时,其数组下标的数据类型只能是________。
( D )
7、下列描述中,正确的一条是______。
( A )
8、下列语句中正确的是________。
( D )
9、要定义一个字符串,下列选项中错误的是________。
( B )
10、若有下列定义,则对a数组元素地址的正确引用是________。 int a[5],*p=a;
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( D )
1、以下关于字符串的叙述中正确的是________。
( B )
2、设有字符串a="he has 钱!",则该字符串的长度为( )。
( C )
3、以下叙述中不正确的是________。
( C )
4、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
( C )
5、设有定义:char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是________。
( C )
6、下面程序段的运行结果是 char *s="abcde"; s+=2; printf("%d",s);
( C )
7、下面正确的字符串常量是________。
( C )
8、判断两个字符串是否相等,正确的表达方式是
( A )
9、char a[]="This is a program.";输出前 5 个字符的语句是()。
( A )
10、设有以下语句, 若 0
六、函数/函数指针 (共10题,每题1分,共计10分)
( D )
1、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是 __________.
( C )
2、判断字符串s1是否大于字符串s2,应该使用________。
( B )
3、下面不正确的描述为________。
( B )
4、以下关于程序中函数的定义、调用和声明的叙述中,正确的是______。
( D )
5、有以下程序:
main( )
{
char a[ ]={‘a',‘b',‘c',‘d',‘e',‘f',‘g',‘h',‘\0'};
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\n",i,j);
}
程序运行后的输出结果是________。
( C )
6、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。
#include <string.h>
void f(char p[][10],int n)
{
char t[20];
int i,j;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)if(strcmp(p[i],p[j])<0)
{
strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
}
}
main()
{
char p[][10]={"abc","aabdfg","abbd","dcdbe","cd"};
f(p,5);
printf("%d\n",strlen(p[0]));
}
程序运行后的输出结果是______。
( D )
7、已定义以下函数int fun( int *p)
{
return *p;
}
则fun函数返回值足
( B )
8、有以下程序
void f (int b[])
{
int i;
for(i=2;i<6;i++) b[i]* =2;
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i;
f(a);
for(i=0;i<10;i++) printf("%d,",a[i]);
}
程序运行后的输出结果是______。
( B )
9、以下叙述中错误的是________。
( B )
10、以下叙述中正确的是()。
七、指针 (共10题,每题1分,共计10分)
( B )
1、下列说法不正确的是________。
( B )
2、以下关于函数的叙述中正确的是________。
( B )
3、以下数组定义中错误的是________。
( D )
4、有以下程序 char fun(char x , char y)
{
if(x<y) return x;
return y;
}
main( )
{
int a=’9’,b=’8’,c=’7’;
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是________。
( A )
5、c 语言规定,除主函数外,程序中各函数之间 ______.
( A )
6、在c语言中,变量的隐含存储类别是________。
( C )
7、以下关于结构化程序设计的叙述中正确的是________。
( B )
8、设变量定义为【int a[3] { 1,3,5 }, *p=a+1; 】,则*p的值是________。
( D )
9、对于 if(表达式)语句,以下说法正确的是________。
( C )
10、若有定义:char *p1,*p2,*p3,*p4,ch; 则不能正确赋值的程序语句为________。
八、结构体 (共10题,每题1分,共计10分)
( B )
1、以下选项中不能正确把cl定义成结构体变量的是________。
( A )
2、若有下面的说明和定义:
struct test
{
int ml;
char m2;
float m3;
union uu
{
char ul[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test )的值是________。
( B )
3、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
( A )
4、下列描述说明正确的是________。
( C )
5、变量a所占的内存字节数是______。
union u{
char st[4];
int i;
long l;
};
struct A {
int c;
union u;
} a;
( D )
6、下面定义结构变量的语句中错误的是________。
( A )
7、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若要使p指向data中的a域,正确的赋值语句是________。
( A )
8、在下列程序段中,枚举变量c1,c2的值依次是________。
enum color
{
red,
yellow,
blue=4,
green,
white
}
c1,c2;
c1=yellow;
c2=white;
printf("%d,%d\n",c1,c2);
( B )
9、c语言中,定义结构体的保留字是________。
( A )
10、在C语言中,下面那种数据类型不属于构造类型____
九、程序题 (共10题,每题1分,共计10分)
( D )
1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。
main() /* beginning */
{
int r;
float s;
scanf("%d",&r);
s=*p*r*r;
printf("s=%f\n",s);
}
出错的原因是________。
( A )
2、以下4组用户定义标识符中,全部合法的一组是________。
( A )
3、已知 a=12, 则表达式 a+=a-=a*=a 的结果是 _________.
( A )
4、执行下面程序时 , 若从键盘输入 "2<cr>" ,则程序的运行结果是 __________.
#include <stdio.h>
void main( )
{
int k;
char cp;
cp=getchar( );
if (cp>='0' && cp<='9') k=cp-'0';
else if (cp>='a' && cp<='f') k=cp-'a'+10;
else k=cp-'a'+10;
printf("%d\n",k);
}
( C )
5、下面程序的输出结果是 __________.
#include <stdio.h>
void main( )
{
int x=8,y=-7,z=9;
if (x<y) if (y<0) z=0;
else z-=1;
printf("%d\n",z);
}
( D )
6、运行下面程序后 , 输出是 ________.
#include <stdio.h>
void main( )
{
int k=-3;
if (k<=0) printf("****\n");
else printf("####\n")
}
( A )
7、以下程序的输出结果是_______。
main()
{
char s[]="159",*p;
p=s;
printf("%c",*p++);
printf("%c",*p++);
}
( D )
8、下面程序
main()
{
int x=32;
printf("%d\n",x=x<<1);
}
的输出是______。
( B )
9、若变量a是unsigned int型,二进制赋值为1000000010001111,则a=a>>2结果是________。
( B )
10、下列程序的输出结果是________。 int b=2;
int func(int *a)
{
b += *a;
return(b);
}
main()
{
int a=2, res=2;
res += func(&a);
printf("%d \n",res);
}
相关标签:
- C语言
- 武汉工程大学
- 专升本