中央电大秋C语言程序设计A试题文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中央广播电视大学秋季
C语言程序设计A课程试卷( 1)
10月部队考
一、单选题( 每小题2分, 共20分)
1.在每个C语言程序中都必须包含有这样一个函数, 该函数的函数名为( )。
A. main
B. MAIN
C. name
D. function 2.每个C语言程序文件的编译错误分为( ) 类。
A. 1
B. 2
C. 3
D. 4
3. 字符串"a+b=12\n"的长度为( ) 。
A. 6
B. 7
C. 8
D. 9
4. 在switch语句的每个case块中, 假定都是以break语句结束的, 则此switch语句容易被改写为( ) 语句。
A. for
B. if
C. do
D. while
5. 在下面的do-while循环语句中, 其循环体语句被执行的次数为( ) 。
int i=0; do i++; while(i<10);
A. 4
B. 3
C. 5
D. 10
6. 将两个字符串连接起来组成一个字符串时, 选用的函数为( ) 。
A. strlen()
B. strcap()
C. strcat()
D. strcmp()
7. 若用数组名作为函数调用的实参, 传递给形参的是( ) 。
A. 数组的首地址
B. 数组中第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数
8. 假定a为一个整数类型的数组名, 整数类型的长度为4, 则元素a[4]的地址比a数组的首地址大( )个字节。
A. 4
B. 8
C. 16
D. 32
9. 假定s被定义为指针类型char *的变量, 初始指向的字符串为"Hello world!", 若要使变量p指向s所指向的字符串, 则p 应定义为( ) 。
A. char *p=s;
B. char *p=&s;
C. char *p;p=*s;
D. char *p; p=&s;
10. 从一个数据文件中读入以换行符结束的一行字符串的函数为( ) 。
A. gets()
B. fgets()
C. getc()
D.
fgetc()
二、填空题( 每小题2分, 共26分)
1.C语言中的每条简单语句以________作为结束符。
2. C程序中的所有预处理命令均以______字符开头。
3. 当不需要函数返回任何值时, 则应使用________标识符来定义函数类型。
4.十进制数25表示成符合C语言规则的十六进制数为________。
5. 假定不允许使用逻辑非操作符, 则逻辑表示式a>b || b==5的相反表示式为________________。
6. 执行”typedef int DataType;”语句后, 在使用int定义整型变量的地方也能够使用__________来定义整型变量。
7. 假定一维数组的定义为”char* a[8];”, 则该数组所占存储空间的字节数为________。
8. 假定二维数组的定义为”double a[M][N];”, 则该数组的列下标的取值范围在_________之间。
9. 存储一个空字符串需要占用________个字节。
10. strcpy函数用于把一个字符串________到另一个字符数组空间中。
11. 程序的编译单位是一个__________。
12. 假定a是一个一维数组, 则a[i]的指针访问方式为________。
13. 执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为________。
三、写出下列每个程序运行后的输出结果( 每小题6分, 共30分)
1. #include
void main()
{
int x=5;
switch(2*x-1) {
case 4: printf("%d ",x); break;
case 7: printf("%d ",2*x); break;
case 10: printf("%d ",3*x); break;
default: printf("%s ","default");
}
printf("%s\n","switch end.");
}
2. #include
void main() {
int f1,f2,i;
f1=1;
printf("%d ",f1);
for(i=2;i<=5;i++) {
f2=3*f1+1;
printf("%d ",f2);
f1=f2;
}
printf("\n");
}
3. #include
void main() {
int a[10]={12,39,26,41,55,63,72,40,83,95}; int i, i1=0, i2=0;
for(i=0;i<10;i++)
if(a[i]%2==1) i1++; else i2++; printf("%d %d\n",i1,i2);
}
4. #include
#include
void main( ) {
char s[15]="";
int i, n=strlen(s) ;
for(i=0; i char c=s[i]; s[i]=s[n-1-i]; s[n-1-i]=c; } printf("%s\n",s); } 5. #include int LB(int *a, int n) {