上海工程技术大学C语言程序设计期末模拟
本试卷为上海工程技术大学C语言程序设计期末模拟,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
C语言程序设计期末模拟
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、在下列给出的表达式中,与while(e)中的(e)不等价的表达式是________。
( B )
2、c语言中,下列不合法的字符串常量是________。
( C )
3、#define能作简单的替代,用宏来替代计算多项式5*X*x 4-5*x+5的值的函数f,正确的宏定义语句为( )。
( C )
4、设有定义:"double x[10],*p=x; ",以下能给数组x下标为6的元素读人数据的正确语句是________。
( C )
5、c语言规定:main函数的位置________。
( B )
6、设有如下程序段: int i=0, sum=1;
do
{
sum+=i++;
}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是________。
( A )
7、可在c程序中用作用户标识符的一组标识符是________。
( D )
8、设有如下定义 : char aa[2][20]={ "abcd", "abcd" }; 则以下说法中错误的是 __________.
( C )
9、下面程序的输出是 __________.
int fun3(int x)
{
static int a=3;
a+=x;
return(a);
}
void main()
{
int k=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);
}
( C )
10、下列说法中不正确的是________。
( C )
11、有以下程序段
typedef struct node
{
int data;
struct node * next;
}
* node;
node p;
以下叙述中正确的是________。
( D )
12、一个汉字的机内码在计算机内部需用2个字节存储,每个字节的最高位是________。
( C )
13、设a=12,a定义为整型变量。表达式a+=a-=a*=a的值为______。
( C )
14、以下关于结构化程序设计的叙述中正确的是________。
( B )
15、以下选项中,能定义m为合法的结构体变量的是______。
( D )
16、以下对一维数组c 进行正确的定义初始化的语句是________。
( B )
17、若有以下定义:char s='\092'; 则该语句________。
( D )
18、下列程序的输出为________。
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
( C )
19、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
( D )
20、以下程序段的输出结果为()。
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1);
二、填空题 (共10题,每题2分,共计20分)
1、int *p 的含义是 ________ 。
2、以下程序运行后的输出结果是________。
#include<stdio.h>
main() {
int a=200,b=010;
printf("%d%d\n",a,b);
}
3、字符串函数________用于从指定的磁盘文件中读出一个字符串。
4、在c语言中,以________开头的常量代表的是十六进制数。
5、局部变量的作用域是从______的位置起,到函数结束止。
6、下列程序段的运行结果是_____。 char s1[20]="abcdef", s2[5]="abc"; strcpy(s1,s2); printf("%c", s1[5]);
7、结构化程序设计的3种基本结构是:( )结构、选择结构、循环结构,这三种基本结构构成了复杂的c语言程序。
8、在一个c 源程序中, 注释部分两侧的分界符分别为___和____。
9、下面程序的运行结果是________。
main()
{
int a[2][3]={{1,2,3},{4,5,6}}, int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)printf("%5d",b[i][j]);
printf("\n");
}
}
10、在C语言中,以______作为字符串结束标志。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
2、编写程序:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。程序功能如下: 输入你要保存到的文件的名称: test.txt 现在你可以输入你要保存的一些字符,以#结束: www.baidu.com #
3、有以下定义:
struct student{
int num; //学生序号
char name[20]; //学生姓名
int math; //数学成绩
}stu[4];
请从键盘输入4条学生信息存入结构体数组stu,之后在屏幕上依
次输出这些学生信息,并计算出数学平均成绩,结果保留2位小数。
【输入形式】每条记录的3个数据都使用空格分隔
【输出形式】分四行输出学生信息,每行数据均使用1个空格分隔;
最后一行显示数学平均成绩,保留2位小数
【输入样例】
1 aa 45
2 bb 67
3 dd 77
4 qq 88
【输出样例】
1 aa 45
2 bb 67
3 dd 77
4 qq 88
avg = 69.25
相关标签:
- C语言
- 上海工程技术大学
- 期末模拟