韩山师范学院专插本《C语言程序设计》样卷
韩山师范学院2011年本科插班生考试样卷
教育技术学专业C语言程序设计
-三 四 五 六 七 八 九 十 总分 评卷人'填空题每空1分共10分
1.C语言的数据类型中构造类型包括数组、
和___________。
2.在C程序中指针变量能够赋________________值或
值。
3.C目标程序经_______________后生成扩展名为exe的
可执行程序文件。
4.设有定义语句static char s[5 」 贝V s[4]的值
式是____________________________________O
5.设x为int型变量。与逻辑表达式!x等价的关系表达
6.若一全局变量只允许本程序文件中的函数使用则该
变量需要使用的存储类别是 。
7.磁盘文件按文件读写方式分类可以为顺序存取文件
和
_____________
8.设有下列结构体变量xx的定义则表达式sizeof xx的值是__________。
struct
{ long num;char n ame[20];union{float y; short z;}yz;
}xx;
1、单项选择题每小题1.5分共30分
1.设有定义int x=8,y,乙 贝H执行y=z=x++,x=y==z;语句后变量x值是
(A卷)第4页共18页main( )
{ int i=1,j=1,k=2;if((j++ II k++)&&i++)printf("%d,%d,%d\n",i,j,k);}
执行后输出结果是( )
A、 1,1,2 B、 2,2,1 C、 2,2,2
D、 2,2,3
3.已知i 、 j 、 k为int型变量若从键盘输入 1 2 3回车〉 使i的值为1、 j的值为2、 k的值为3,以下选项中正确的输入语句是( )
A、 scanf( “%2d%2d%2”d;
B、 scanf( “%d%d%d”);
C、 scanf( “%d);
D、 scanf( “i=%d;
4.有以下程序main()
{ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);
}执行后输出结果是( )
A、 2 B 、 3 C、 4D、 编
译时有错无结果
5.以下程序段( )x=1;do {x=x*x;}wh ile(!x);
A、 是死循环 B、 循环执行二次
C、 循环执行一次 D、 有语法错误
6.以下不能正确定义二维数组的选项是( )
A、 int a[2][2]={{1},{2}}; B、 inta[][2]={1,2,3,4};
C、 int a[2][2]={{1},2,3}; D、 inta[2][]={{1,2},{3,4}};
7.有以下程序main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i<4;i++) s+=aa[i][1];printf( “%d\n”,s);
程序运行后的输出结果是
A、 11 B 、 19 C、 13D
20
8.以下程序的输出结果是( )main()
{char ch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);
}
"CC"
#define f(x)x*xmain( )
{ int i;i=f(4+4)/f(2+2);printf(“n”,i);
}执行后输出结果是 )
A、 28 B 、 22 C 、 16 D
4
10.决定C语言中函数返回值类型的是
A、 return语句中的表达式类型
B、调用该函数的主调函数类型
C调用函数时临时指定的类型
D定义函数时在函数首部中所指定的类型若缺省,则隐含为int型 。
11.系统对预处理命令如宏替换、文件包含、条件编译的
处理时机是 。
A、编译源程序 B、编译源程序之前
C连接目标文件时 D运行程序时
12. 在位运算中,操作数每左移一位,其结果相当于
A、操作数乘以2 B、操作数除以4
C操作数除以2 D操作数乘以4
13. 下述描述中不正确的是 。
A、 字符型数组中可以存放字符串
B、 可以对字符型数组进行整体输入、输出
C可以对整型数组进行整体进行输入、输出
D不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
14. 若有以下定义int a[2][3] ,则对a数组第i
行第j列元素的正确引用是
A、 * * a+i +j B、 a+i [j]
C、 *(a+i+j) D、 *(a+i)+j
15. 有以下程序void fun(char*a(){char c 1='A',c2='a',*p 1,*p2;p 1=&c 1;p2=&c2;fun(p 1,p2);printf("%c%c\n",c 1,c2);
}程序运行后的输出结果是( )
A、 B、 C、 D、
Ab aa Aa Bb
16. 已定义以下函数
Fun(char*p2,char*p 1)
{while((*p2=*p 1)!='\0'){p 1++;p2++; }}函数Fun的功能是( )
A、 将pl所指字符串复制到p2所指内存空间
B、 将pl所指字符串的地址赋给指针p2
C对pl和p2两个指针所指字符串进行比较D检查pl和p2两个指针所指字符串中是否
有'\0'
17. 设有以下结构体类型struct st
{char name[8];int num;float s[4];
}student[50];
并且结构体数组student中的元素都已有值 若要将这些元素写到硬盘文件fp中 以下不正确的形式是( )
A、 fwrite(student,sizeof(structst),50,fp);