大工C语言2013全校模拟
更新时间:2017/1/27 13:01:00 浏览量:625 手机版
一、 选择题
1、sizeof(float)是()。
A、一个浮点表达式
B、一个不合法的表达式
C、函数调用结果是一个整型表达式。
D、一种函数调用
2、下列数据中属于"字符串常量"的是( )。
A、'A'
B、"ABC"
C、ABC
D、'ABC'
3、用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法
( ).
(用"[CR]"表示回车,U表示空格)
main()
{int i,k;
scanf("i=%d,k=%d",&i,&k);
}
A、i=10[CR]k=15[CR]
B、i=10,k=15[CR]
C、10U15[CR]
D、10,15[CR]
4、逻辑表达式3<2||-1&&4>3-!0的值为:( )
A、1
B、3
C、0
D、2
5、下列运算符中是C语言关系运算符的是()。
A、&
B、~
C、!=
D、!
6、语句while(!E);中的表达式!E等价于()。
A、E==1
B、E!=0
C、E!=1
D、E==0
7、以下正确的描述是( ).
A、只能在循环体内和switch语句内使用break语句
B、continue语句的作用是终止整个循环的执行
C、从多层嵌套的外层循环中退出时,只能使用goto语句
D、在循环体内使用break和continue语句的作用相同
8、下面各语句中,能正确进行赋字符串操作的语句是( ).
A、char s1[5][ ]={"ABCDE"};
B、char s2[6]={'A','B','C','D','E'};
C、char st[ ][ ]={"ABCDE"};
D、char s[5]={'A','B','C','D','E'};
9、若有说明: int a[3][4]={0};则下面正确的叙述是()。
A、数组a中每个元素均可得到初值0
B、只有元素a[0][0]可得到初值0
C、数组a中各元素都可得到初值,但其值不一定为0
D、此说明语句不正确
10、若有说明 int a[3][4];则a数组元素的非法引用是()。
A、a[1][3]
B、a[0][4]
C、a[0][2*1]
D、a[4-2][0]
11、执行下面程序后,输出结果是()。
main()
{ int a,b,c;
a=45,b=27,c=0;
c=max(a,b);
printf("%d\n",c);
}
int max(int x,int y)
{ int z;
if(x>y) z=x;
else z=y;
return(z);
}
A、72
B、18
C、27
D、45
12、以下正确的描述是:在C语言程序中()。
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均可以嵌套
D、函数的定义和函数的调用均不可以嵌套
13、在C语言的函数中,下列正确的说法是()。
A、形参可以是常量和变量
B、可以有也可以没有形参
C、数组名不能作形参
D、必须有形参
14、设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为( ).
A、6.28
B、12.56
C、3.14
D、9.42
15、int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
A、4
B、2
C、不一定
D、3
16、若有以下程序段,则使用错误的选项是( ).
struct student
{ int num;
int age;
};
struct student stu[3] =
1001,20},{1002,19},{1004,20}};
main();
{ struct student *p;
p=stu;
…
;
}
A、(*p).num
B、(p++)->num
C、p=&stu.age
D、p++
17、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。
A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B、以上各种说法皆不正确
C、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
D、文件打开时,原有文件内容被删除,只可作写操作
答案:CBBAC DABAB DBBBD CA
二、 判断
1、#define 和printf 都不是C语句。
2、格式字符%x用来以十六进制形式输出整数.
3、语句if(a>b) printf("%d",a); else printf("%d",b);可以用条件表达式a>b?a:b取代.
4、逻辑表达式-5&&!8的值为1.
5、循环结构中的continue语句是使整个循环终止执行
6、for循环语句不能用于循环次数未知的情况下.
7、引用数组元素时,数组元素下标必须是整型常量.
8、数组的首地址一定是第一个数组元素的地址.
9、数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.
10、数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.
11、在主函数中,必须要对被调用函数进行类型说明,否则在编译时会出现错
误.
12、在一个函数中定义的静态局部变量不能被另外一个函数所调用.
13、计算机编译系统对宏定义在编译时进行语法检查.
14、指向某一变量的指针,就是该变量的内存地址.
15、对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。
16、在打开文件时,必须说明文件的使用方式,"r"表示以只读方式打开一个文件.
答案:对对对错对 对对错对对 对对对对对 对
三、 填空
1、int x=2;z=x++-1; 则x的值为_____.
2、设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_____.
3、设x=62,表达式x>=60&&x<70||x==1的值为_____.
4、c语言表达式5>2>7>8的值是_____.
5、字符串比较的库函数是_____,只写函数名即可.
6、从函数的形式上看,函数分为无参函数和_____两种类型.
7、设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是 _____。
union stud { char num[6]; float s[4]; double ave; } a,*p;
8、在C语言中,根据要处理的文件存储的编码形式,可以把文件分为ASCII文件和_____文件.
答案:(1)3 (2) 2.5 (3)1 (4) 0 (5) strcmp (6) 有参函数 (7) 16 (8) 二进制
四、 程序设计
1、功能:用函数求N个[10,60]上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。
------------------------------------------------*/
#include "stdio.h"
#include "stdlib.h"
#define N 30
int find(int arr[],int n)
{ int m=0;
/*********Begin**********/
/********** End **********/
return(m);
}
main()
{ int a[N],i,k;
void TestFunc();
for(i=0;i
a[i]=rand()%50+10;
for(i=0;i
{