c语言无纸化考试试题,自己下了打印吧 下载本文

一.填空题 1 2 3 4 5 6 7 8 9

设整型数据占2个字节,则最小有符号整数是【 】。 c语言属于高级语言,因为c程序也要通过【 】、连接才能得到可执行的目标程序 在scanf函数中要指定数据在内存中存放的【 】。

复合语句是由【 】把多个语句括起来组成的语句,它被认为是单条语句。 在C语言中,用【 】表示逻辑值\真\。

实型变量f=126.45678,执行printf(\结果是【 】。 系统提供的字符串连接函数的函数名是【 】。

数组初始化int array[5]={0,1,2}后,array[3]的值为【 】。 从【 】的角度分,有全局变量和局部变量两种变量。

10 表示结构体变量boy的num成员的表达式为【 】。 11. C语言中优先级最低的运算符是【 】。

12. 整型变量a=20,则表达式a+=a-=a-a值为【 】。 13 静态局部变量的存储空间是在【 】阶段分配的。 14 fseek函数中用来表示\位移量\的形参的数据类型是【 】。 15 每个变量都有两个属性:数据类型和【 】。 16. 在C语言中,局部变量的缺省存储类是【 】。

17. 结构体stu类型的变量b,访问b中成员a的表达式应为【 】。 18. 指针变量增1或减1时,移动的字节数取决于指针变量的【 】。

19. 函数的参数分为形参和实参两种,形参出现在【 】中,实参出现在主调函数中。 20. C语言中把不同类型的数据组合成一个有机整体的类型是【 】。 二.选择题

1. 若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是【 】。 A. ++t; B. n1=(n2*(n3=0)); C. k=i=j; D. a/=b+c=1; 2. 已知ch是字符型变量,下面正确的赋值语句是【 】。

A. ch='123' B. ch='xfff C. ch='\\08' D. ch='\\\\'

3.有以下程序main( ){ int x=102,y=012; printf(“-,-\\n”,x,y);} 执行后输出结果是【 】。

A. 10,01 B. 002,12 C. 102,10 D. 02,10

4.for(表达式1;表达式2;表达式3) ;表达式1在for循环开始至结束执行【 】次。 A. 1 B. 与for循环次数相同 C. 若表达式2在循环一开始不成立,则不执行表达式1 D. 不能确定

5.下列不正确的语句为【 】。

A. if((a=b;)>0) t=a; B. if((a=b)>0) t=a; C. if(a>b); D. if(a

A. 输入项可以为一个实型常量,如scanf(\ B. 只有格式控制,没有输入项,也能进C. 输入实型数据时,格式控制部分应规定小数点后的位数D. 输入数据时应指明变量的地址, 如scanf(\

7.下列函数用来复制字符串的标准函数是【 】。

A. strcpy B. strcat

C. strlen D. strlwr

8.有定义char a[20];将字符串\保存在数组a中,正确的使用方法是【 】。 A. a=\ A. a=\

C. a->\ D. strcpy(a,\china\

9.函数调用fun(a+b,(x,y),fun(n+k,d,(a,b)));则fun形参的个数是【 】。 A. 3 B. 4 C. 5 D. 6 10.struct date{int y;int m;int d;} x;下列语句正确的是【 】。

A. scanf(\ B. printf (\

C. scanf (\,x.m,x.d); D. scanf(\,&x.m,&x.d);

三.程序填空题

1. 输入一个八进制格式字符串,将其转换为十进制数字并输出。完善程序。

#include main( )

{

char *p,s[6] ; int n ; 【 1 】 ; gets(p);

n=0 ;

while(*p>='0'&&【 2 】) {

n=n*8+*p-'0' ; 【 3 】; }

printf(\}

2. 函数ch( )是将参数x中的字符串内数字字符复制到参数y中构成新串,并在主函数中 输出此新串。

void ch(char a[20],char b[10]) {

int i, j=0;

for(i=0;a[i]!='\\0';i++) if(a[i]>='0'&&a[i]<='9') {

【 1 】 j++; } 【 2 】; }

main( )

{

char x[]=\ char y[10]; ch(x,y);

printf(\【 3 】); }

3. 输出整型数组中存放的元素的最大值。首先,用户输入5个整数存放到数组arr中;然后,找到数组中最大元素的下标;最后输出此最大元素。完善程序。

#include main()

{

int arr[5]; int i; int max=0;

for(i=0;i<5;i++)

scanf(\【 1 】); for(i=1;i<5;i++)

if(【 2 】)

max=i;

printf(\【 3 】);

}

4. 有一个字符串\,截取它的第5个到第8个字符,把这4个字符赋给另外一个

字符串t,并将这4个字符打印出来。

main() {

char s[20]=\ char t[10]; int i, j;

clrscr();

for(【 1 】;i<=7; 【 2 】) t[j]=s[i]; 【 3 】

printf(\

}

三.程序填空题

1.输出整型数组中存放的元素的最大值。首先,用户输入5个整数存放到数组arr中;然后,找到数组中最大元素的下标;最后输出此最大元素。完善程序。

#include main()

{

int arr[5]; int i;

int max=0;

for(i=0;i<5;i++)

scanf(\【 1 】); for(i=1;i<5;i++)

if(【 2 】)

max=i;

printf(\【 3 】);

}

2.有一个字符串\,截取它的第5个到第8个字符,把这4个字符赋给另外一个

字符串t,并将这4个字符打印出来。

main()

{

char s[20]=\ char t[10];

int i, j; clrscr();

for(【 1 】;i<=7; 【 2 】) t[j]=s[i]; 【 3 】 printf(\

}

选择题

1 .以下不合法的用户标识符是【 】。

A. f2_G3 B. If C. 4d D. _8 2 下列表示实数型常量,不合法的是【 】。

A. 10.0 B. .5 C. 5.-E3 D. 10.

3 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为【 】。

A. a B. !a C. a=0 D. a<>0

4 设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为【 】。 A. 0 B. 1 C. 2 D. 3

5. 执行【 】程序段后,i的结果为4。

A. int i=0, j=0; (i=3,(j++)+i); B. int i=1, j=0; j=i=((i++)*2); C. int i=0, j=1; (j==1)? (i=1):(i=3); D. int i=1, j=1; i+=j+=2;

6. 判断char型变量ch是否为大写字母的正确表达式是【 】。

A. 'A'<=ch<='Z' B. (ch>='A')&&(ch<='z') C. C.(ch>='A')&&(ch<='Z') D. ('A'<=ch)AND('Z'>=ch)

7. 若有说明 int a[3][4]={0};则下面的叙述正确的是【 】

A. 只有元素a[0][0]可得到初值0 B. 此说明语句不正确

C. 数组a中各元素都可得到初值,但其值不一定为0 D. 数组a中每个元素均可得到初值0

8 int a[4]={1,3,5,7};则表达式++*(a+2)的值为【 】。

A. 4 B. 5 C. 6 D. 7 9 C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是【 】。

A. 互相传递 B. 由用户指定传递方式C. 地址传递 D. 单向值传递 10 struct date{int y;int m;int d;} x;下列语句正确的是【 】。 A. scanf(\ B. printf (\C. scanf (\ D. scanf(\,

设整型数据占2个字节,则最小有符号整数是【 】。 系统提供的字符串连接函数的函数名是【 】。 在C语言中,局部变量的缺省存储类是【 】。 表示结构体变量boy的num成员的表达式为【 】。 数组初始化int array[5]={0,1,2}后,array[3]的值为【 】。 实型变量f=126.45678,执行printf(\结果是【 】。

在C语言中,用【 】表示逻辑值\真\。 复合语句是由【 】把多个语句括起来组成的语句,它被认为是单条语句。 在scanf函数中要指定数据在内存中存放的【 】。 整型变量a=20,则表达式a+=a-=a-a值为【 】。 设整型数据占2个字节,则最小有符号整数是【 】。