内蒙古科技大学2023年计算机C语言专升本
本试卷为内蒙古科技大学2023年计算机C语言专升本,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言专升本
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是________。
( B )
2、设"int x=2,y=1; ",则表达式(!x || y--)的值i是________。
( B )
3、有以下结构体说明和变量的定义,且指针p指向变量a’指针q指向变量b,则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node*next;
}
a,b,*p=&a,*q=&b;
( B )
4、以下定义语句正确的是________。
( C )
5、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
( C )
6、以下描述中正确的是________。
( B )
7、执行下列语句后,r的值是
char ch='a';
int r=6;
switch(ch+5) {
case'a':r=r+3;
case'b':r=r+5;
case'c':r=r+5;
break;
default:r/=2;
}
( B )
8、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
( D )
9、关于字符常量,以下叙述正确的是________。
( D )
10、要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是________。
( B )
11、下列赋值语句错误的是________。
( A )
12、以下选项中合法的c语言字符常量是________。
( A )
13、以下程序的运行结果是________。
#include<stdio.h>
main()
{
int a=3,b=4,c=8,d=4,m=1,n=3;
printf("%d\n",(m=a>b)&&(n=c>d));
}
( B )
14、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是________。
main()
{
int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",*p);
}
( A )
15、若有下面的说明和定义:
struct test
{
int m1;
char m2;
float m3;
union uu
{
char u1[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test)的值是________。
( B )
16、有如下程序段int *p,a=6,b=2; p=&a; a=*p+b; 执行该程序段后,a的值为______。
( D )
17、以下程序结果为:______。
void add( )
{
static int y=4;
y--;
printf("%d",y);
}
main( )
{
int m;
for(m=0;m<4;m++)add( );
}
( C )
18、设有数据定义语句"int a[200]; ",下列数组元素引用中下标不越界的是________。
( A )
19、设有定义:int x=2,*p=&x; float=3.0; char z='c'; 则立即进行以下运算有安全隐患的是________。
( A )
20、c语言的if语句嵌套时,if与else的配对关系是________。
二、填空题 (共10题,每题2分,共计20分)
1、下面程序的输出结果是________。
int x=-32769;
printf("%d",x);
2、设int a; float f; double i; 则表达式10+’a’+i*f值的数据类型是________ 。
3、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
4、ferror函数用来检测文件读写时是否发生错误,若未发生读写错误,则返回值是________。
5、设int a=5,b=6; 则表达式(++a==b--)?++a:--b的值是________。
6、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int i;
for(i=1;i<=5;i++)
switch(i%2)
{
case 0:
i++;
printf("#");
break;
case 1:
i+=2;
printf("*");
default:
printf("\n");
}
}
7、写出下列程序的运行结果。
main()
{
int n;
for(n=3; n<=10; n++)
{
if(n%6==0) break;
printf("%d",n);
}
}
8、以下程序的运行结果是_____________。
main( )
{
int k, s ,a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
s=0;
for( k=0;k<4;k ++)s=s+ a[k][k];
printf("%d,",s);
}
9、定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为 ______。
10、算术表达式 a=b+3 中, a、b 称为变量, 3 称为______量,=、+称为运算符。
三、编程题 (共3题,每题0分,共计40分)
1、统计结构体数组中性别(sex)为'M'的变量的个数。
要求:
①数组元素依次赋初值为:{1 , "Andy" , 'M' } 、 {2 , "Mike" , 'F' } 、 {3 , "Rose" , 'M'}。
②结构体定义如下:struct Student{int num;char name[30];char sex;};
2、从键盘输入30名学生的成绩数据,求其中的最高分、最低分和平均分。
3、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。
相关标签:
- C语言
- 内蒙古科技大学
- 专升本