C语⾔考试例题2
选择题
sizeof(float)是()。
A、⼀个浮点表达式
B、⼀个不合法的表达式
C、运算结果是⼀个整型表达式。
D、⼀种函数调⽤
下列数据中属于"字符串常量"的是( )。
A、'A'
B、"ABC"
C、ABC
D、'ABC'
⽤下⾯的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]
逻辑表达式3<2||-1&&4>3-!0的值为:( )
A、1
B、3
C、0
D、2
下列运算符中是C语⾔关系运算符的是()。
A、&
B、~
C、!=
D、!
语句while(!E);中的表达式!E等价于()。
A、E==1
B、E!=0
C、E!=1
以下正确的描述是( ).
A、只能在循环体内和switch语句内使⽤break语句
B、continue语句的作⽤是终⽌整个循环的执⾏
C、从多层嵌套的外层循环中退出时,只能使⽤goto语句
D、在循环体内使⽤break和continue语句的作⽤相同下⾯各语句中,能正确进⾏赋字符串操作的语句是( ).
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'};
若有说明: int a[3][4]={0};则下⾯正确的叙述是()。
A、数组a中每个元素均可得到初值0
B、只有元素a[0][0]可得到初值0
C、数组a中各元素都可得到初值,但其值不⼀定为0
D、此说明语句不正确
若有说明 int a[3][4];则a数组元素的⾮法引⽤是()。
A、a[1][3]
B、a[0][4]
C、a[0][2*1]
D、a[4-2][0]
执⾏下⾯程序后,输出结果是()。
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
C、27
D、45
以下正确的描述是:在C语⾔程序中()。
A、函数的定义可以嵌套,但函数的调⽤不可以嵌套
B、函数的定义不可以嵌套,但函数的调⽤可以嵌套
C、函数的定义和函数的调⽤均可以嵌套
D、函数的定义和函数的调⽤均不可以嵌套
在C语⾔的函数中,下列正确的说法是()。
A、形参可以是常量和变量
B、可以有也可以没有形参
C、数组名不能作形参
D、必须有形参
设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为( ).
A、6.28
B、12.56
C、3.14
D、9.42
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
若有以下程序段,则使⽤错误的选项是( ).
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++
若以"a+"⽅式打开⼀个已存在的⽂件,则以下叙述正确的是()。
A、⽂件打开时,原有⽂件内容不被删除,位置指针移到⽂件末尾,可作添加和读操作
B、以上各种说法皆不正确
C、⽂件打开时,原有⽂件内容不被删除,位置指针移到⽂件开头,可作重写和读操作
D、⽂件打开时,原有⽂件内容被删除,只可作写操作
填空题
int x=2;z=x++-1; 则x的值为_____.3
设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_____.2.5
设x=62,表达式x>=60&&x<70||x==1的值为_____. 1
c语⾔表达式5>2>7>8的值是_____. 0
字符串⽐较的库函数是_____,只写函数名即可. strcmp
从函数的形式上看,函数分为⽆参函数和_____两种类型. 有参
设有以下共⽤体类型说明和变量定义,则变量a在内存所占字节数是 _____。 16
union stud { char num[6]; float s[4]; double ave; } a,*p;
strcmp比较数组
在C语⾔中,根据要处理的⽂件存储的编码形式,可以把⽂件分为ASCII⽂件和_____⽂件.
⼆进制
判断题
#define 和printf 都不是C语句。 Y
格式字符%x⽤来以⼗六进制形式输出整数. Y
语句if(a>b) printf("%d",a); else printf("%d",b);可以⽤条件表达式a>b?a:b取代. N 逻辑表达式-5&&!8的值为1. N 循环结构中的continue语句是使整个循环终⽌执⾏ N
for循环语句不能⽤于循环次数未知的情况下. N
引⽤数组元素时,数组元素下标必须是整型常量. N
数组的⾸地址⼀定是第⼀个数组元素的地址. Y
数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素 Y.
数组名作为函数调⽤时的实参,实际上传递给形参的是数组全部元素的值. N
在主函数中,必须要对被调⽤函数进⾏类型说明,否则在编译时会出现错误. N
在⼀个函数中定义的静态局部变量不能被另外⼀个函数所调⽤. Y
计算机编译系统对宏定义在编译时进⾏语法检查. N
指向某⼀变量的指针,就是该变量的内存地址. Y
对于不同类型的数据,若想合成⼀个有机的整体,可以引⽤结构体进⾏定义。 Y
在打开⽂件时,必须说明⽂件的使⽤⽅式,"r"表⽰以只读⽅式打开⼀个⽂件. Y
程序设计题
【程序设计】
--------------------------------------------------
功能:⽤函数求N个[10,60]上的整数中能被5整除的最⼤的数,如存在则返回这个最⼤值,如果不存在则返回0。
------------------------------------------------*/ #include "stdio.h"
#include "stdlib.h"
#define N 30
int find(int arr[],int n)
{
int m=0;
/*********Begin**********/
int i;
for(i=0;i
if(arr[i]%5==0 && arr[i]>m)
m=arr[i];
/********** End **********/
return(m);
}
main()
{
int a[N],i,k;
void TestFunc();
for(i=0;i
a[i]=rand()%50+10;
for(i=0;i
{
printf("%5d",a[i]);
if((i+1)%5==0) printf("\n");
}
k=find(a,N);
if(k==0)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论