南京工程学院2023年计算机C语言期末测试卷
本试卷为南京工程学院2023年计算机C语言期末测试卷,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言期末测试卷
一、单项选择题 (共20题,每题2分,共计40分)
( C )
1、已知字符'a'的ascll代码值是65,字符变量c1的值是'a',c2的值是'd'。执行语句printf("%d,%d",c1,c2-2);后,输出结果是________。
( C )
2、有下列程序: int fun1(double a)
{
return a*=a;
}
int fun2(double x,double y)
{
double a=0,b=0;
a=fun1(x);
b=fun1(y);
return(int)(a+b);
}
main()
{
double w;
w=fun2(1.1,2.0),……
}
程序执行后变量w中的值是________。 、
( A )
3、c语言中,合法的字符型常数是________。
( D )
4、若调用一个函数,且此函数中没有return语句,则正确的说法是________。
( C )
5、以下不合法的用户标识符是________。
( D )
6、b等于( )
( A )
7、有以下程序 struc stu
{
char name[10];
int num;
};
void f1(struct stu c)
{
struct stu b={"lisiguo",2042};
c=b;
}
void f2(struct stu *c)
{
struct stu b={"sundan",2044} ;
*c=b;
}
main( )
{
struct stu a={"yangsan",2041},b={"wangyin",2043} ;
f1(a);
f2(&b);
printf("%d %d\n",a.num,b.num);
}
执行后的输出结果是________。
( B )
8、下面结构体的定义语句中,错误的是________。
( B )
9、已知char x[]="hello", y[]={ 'h','e','a','b','e' }; 则关于两个数组长度的正确描述是________。
( D )
10、若有以下定义和语句: double r=99 , *p=&r ; *p=r ; 则以下正确的叙述是______。
( A )
11、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
( D )
12、在c语言程序中
( A )
13、有以下程序
main()
{
int x=0,y=0,i;
for(i=1;++i)
{
if(i%2==0)
{
x++;
continue;
}
if(i%5==0)
{
y++;
break;
}
}
printf("%d,%d",x,y);
}
程序的输出结果是________。
( D )
14、若已定义:int a[9],*p=a; 并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是________。
( B )
15、字符串"xyz"在内存占用的字节数是______。
( C )
16、以下( )循环并非重复5次?
( D )
17、有如下定义: struct student
{
char name[10];
int age;
char gender;
}
std[3], *p=std;
则以下各输入语句中错误的是________。
( C )
18、设有数据定义语句"int a[200]; ",下列数组元素引用中下标不越界的是________。
( B )
19、若有下列定义,则对a数组元素地址的正确引用是________。 int a[5],*p=a;
( A )
20、以下叙述中正确的是()。
二、填空题 (共10题,每题2分,共计20分)
1、仅由顺序、选择(分支)和重复(循环)结构构成的程序是________程序。
2、现有两个c程序文件t18.c和myfun.c同在tc系统目录(文件夹)下,其中t18.c文件如下:
#include <stdio.h>
#include "myfun.c"
main()
{
fun();
printf("\n");
}
myfun.c文件如下:
void fun()
{
char s[80],c;
int n=0;
while((c=getchar())!=′\n′) s[n++]=c;
n--;
while(n>=0) printf("%c",s[n--]);
}
当编译连接通过后,运行程序t18时,输入thank!则输出结果是:________。
3、有以下程序
#include<stdio.h>
main() {
int n[2],i,j;
for(i=0;i<2;i++) n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++) n[j]=n[i]+1;
printf("%d\n",n[1]);
} 程序运行后的输出结果是________。
4、全局变量又称外部变量,是在函数______定义的变量。
5、int a = 0; a+=(a=8); 求a的最后结果
6、八进制数37转换成二进制数是________ 。
7、以下程序的输出结果是 ________ 。
main()
{
int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{
if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
8、编译预处理包括( )、文件包含、条件编译等。
9、以下程序的输出结果是________。
main()
{
int x=5,y=6;
printf("%daa%d",++x,y――);
}
10、在scanf函数中,用符号______表示变量的地址。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:将字符数组a中下标值为奇数的元素从小到大排列,其它元素不变 例如:当a数组中的字符串为:"clanguage"时,程序的输出结果为:cgalgnaue()
2、编写程序:输出 100 ~ 200 之间既不能被 3 整除也不能被 7 整除的整数并统计这些整数的个数,要求每行输出 8 个数。
3、已知学生的记录由学号和学习成绩构成N名学生的数据已存入a结构体数组中。试编写函数fun函数的功能是找出成绩最低的学生记录通过形参返回主函数规定只有一个最低分在主函数中调用fun,使用结构体实现
相关标签:
- C语言
- 南京工程学院
- 期末测试卷