题目
五、程序设计 共1题 (共计14分) 第1题 (14.0分) 题号:413 /*------------------------------------------------ [程序设计] --------------------------------------------------题目:编写函数fun将一个数组中的值按逆序存放, 并在main()函数中输出。 例如,原来存顺序为8,6,5,4,1。要求改为: 1,4,5,6,8。-------------------------------------------------- 注意:部分源程序[1]给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" #define N 5 main() (int a[N]={8,6,5,4,1),i; for(i=0;i/********** End **********/}yzj() ( FILE *IN,*OUT; int n; int i[10]; int o; IN=fopen("in.dat","r"); if(IN==NULL) {printf("Read File Error"); ) OUT=fopen("out.dat","w"); if(OUT==NULL) (printf("Write File Error"); ) for(n=0;n<10;n++) ( fscanf(IN,"%d",&i[n]); ) fun(i,10); for(n=0;n<10;n++) ( fprintf(OUT,"%dn",i[n]); ) fclose(IN); fclose(OUT); }答案:---------------------- int i,t; for(i=0;i答案:Y第2题 (1.0分) 题号:1468 在C语言中,整型数据在内存中占2个字节.答案:N第3题 (1.0分) 题号:8 在Turbo C中,整型数据在内存中占2个字节。答案:N第4题 (1.0分) 题号:23 若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。答案:Y第5题 (1.0分) 题号:1243 C语言是一种结构化程序设计语言[2].答案:Y第6题 (1.0分) 题号:17 x*=y+8 等价于 x=x*(y+8)。答案:Y第7题 (1.0分) 题号:1476 在进行赋值转换时,变量的类型被自动转换为赋值号右边的表达式值的类型.答案:N第8题 (1.0分) 题号:1499 用printf函数输出一个字符串时,格式字符为%s,输出项可以是此字符串或存放此字符串的数组的数组名.答案:Y第9题 (1.0分) 题号:1501 以数组名作函数参数时,实参[3]数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关.答案:N第10题 (1.0分) 题号:1495 以数组名作函数参数时,数据传递的方向是"双向的",因此我们可以说,在此情况下,函数带回的返回值可能不止一个. 二、单项选择 共30题 (共计30分) 第1题 (1.0分) 题号:3196 有如下程序段[4]int a=14,b=15,x;char c=′A′; x=(a&&b)&&(c答案:D第2题 (1.0分) 题号:650 若有说明: int a[][4]=(0,0);则下面不正确的叙述是()。 A:数组a的每个元素都可得到初值0 B:二维数组a的第一维大小为1 C:因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1 D:有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0答案:D第3题 (1.0分) 题号:2747 以下运算符中,优先级最高的运算符是(). A:?: B:++ C:&& D:,答案:B第4题 (1.0分) 题号:2900 以下不符合C语言语法的赋值语句[5]是(). A:a=1,b=2 B:++j; C:a=b=5; D:y=(a=3,6*5);答案:A第5题 (1.0分) 题号:502 下列表达式中,可作为C合法表达式的是()。 A:[3,2,1,0] B:(3,2,1,0) C:3=2=1=0 D:3/2/1/0答案:B第6题 (1.0分) 题号:2392 C语言中的标识符[6]只能由字母,数字和下划线三种字符组成,且第一个字符() A:必须为字母 B:必须为下划线C:必须为字母或下划线 D:可以是字母,数字和下划线中任一字符答案:C第7题 (1.0分) 题号:2378 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是() A:a>=10 or a<=0 B:a>=0|a<=10C:a>=10 &&a<=0 D:a>=10‖a<=0答案:D第8题 (1.0分) 题号:3032 若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(). A:p=&x[i]; B:p=x; C:p=x[i]; D:p=&(x+i)答案:A第9题 (1.0分) 题号:3107 判断char型变量cl是否为小写字母的正确表达式是(). A:a'<=cl<='z' B:(cl>=a)&&(cl<=z) C:('a'>=cl)||('z'<=cl) D:(cl>='a')&&(cl<='z')答案:D第10题 (1.0分) 题号:3162 以下叙述中不正确的是(). A:预处理命令行都必须以#号开始 B:在程序中凡是以#号开始的语句行都是预处理命令行 C:C程序在执行过程中对预处理命令行进行处理 D:以下是正确的宏定义 #define IBM_PC答案:C第11题 (1.0分) 题号:2993 下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t); A:7 B:9 C:63 D:49答案:C第12题 (1.0分) 题号:488 C语言中的文件的存储方式有()。 A:只能顺序存取[7] B:只能随机存取[8](或直接存取) C:可以顺序存取,也可随机存取 D:只能从文件的开头进行存取答案:C第13题 (1.0分) 题号:2752 下列字符序列中,不可用作C语言标识符的是(). A:b70 B:#ab C:symbol D:a_1答案:B第14题 (1.0分) 题号:640 以下对二维数组a的正确说明是()。 A:int a[3][] B:float a(3,4) C:double a[1][4] D:float a(3)(4)答案:C第15题 (1.0分) 题号:169 下列说法不正确的是()。 A:主函数main中定义的变量在整个文件或程序中有效 B:不同函数中,可以使用相同名字的变量 C:形式参数[9]是局部变量[10] D:在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效答案:A第16题 (1.0分) 题号:2966 具有相同类型的指针变量p与数组a,不能进行的操作是(). A:p=a; B:*p=a[0]; C:p=&a[0]; D:p=&a;答案:D第17题 (1.0分) 题号:3016 与实际参数为实型数组名相对应的形式参数不可以定义为(). A:float a[]; B:float *a; C:float a; D:float (*a)[3];答案:C第18题 (1.0分) 题号:415 为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。 A:auto B:register C:static D:extern答案:B第19题 (1.0分) 题号:2952 以下函数调用[11]语句中实参的个数是().exce((v1,v2),(v3,v4,v5),v6); A:3 B:4 C:5 D:6答案:A第20题 (1.0分) 题号:3056 若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于 表达式(exp)的是(). A:(exp==0) B:(exp!=0) C:(exp==1) D:(exp!=1)答案:B第21题 (1.0分) 题号:165 下列定义数组的语句中正确的是()。 A:#define size 10 char str1[size],str2[size+2]; B:char str[]; C:int num['10']; D:int n=5; int a[n][n+2];答案:A第22题 (1.0分) 题号:106 以下叙述中不正确的是()。 A:一个好的程序应该有详尽的注释 B:在C程序中,赋值运算符的优先级最低 C:在C程序中,j++;是一条赋值语句 D:C程序中的#include和#define均不是C语句答案:B第23题 (1.0分) 题号:2913 下列程序的输出结果为().main()(int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%fn",x);) A:27.000000 B:27.500000 C:28.000000 D:28.500000答案:A第24题 (1.0分) 题号:3185 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的 地址的是(). A:&aa[0]+1 B:&aa[1] C:&aa[0]++ D:aa+1答案:C第25题 (1.0分) 题号:677 若已定义的函数有返回值,则以**于该函数调用的叙述中错误的是()。 A:函数调用可以作为独立的语句存在 B:函数调用可以作为一个函数的实参 C:函数调用可以出现在表达式中 D:函数调用可以作为一个函数的形参答案:D第26题 (1.0分) 题号:679 在C语言中,形参的缺省存储类是()。 A:auto B:register C:static D:extern答案:A第27题 (1.0分) 题号:3200 下列程序段的输出结果是()double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0; printf("%dn", d*y);A. 3B. 3.2C. D. 3.07
五、程序设计 共1题 (共计14分) 第1题 (14.0分) 题号:413 /*------------------------------------------------ [程序设计] --------------------------------------------------题目:编写函数fun将一个数组中的值按逆序存放, 并在main()函数中输出。 例如,原来存顺序为8,6,5,4,1。要求改为: 1,4,5,6,8。-------------------------------------------------- 注意:部分源程序[1]给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" #define N 5 main() {int a[N]={8,6,5,4,1},i; for(i=0;i/********** End **********/}yzj() { FILE *IN,*OUT; int n; int i[10]; int o; IN=fopen("in.dat","r"); if(IN==NULL) {printf("Read File Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) {printf("Write File Error"); } for(n=0;n<10;n++) { fscanf(IN,"%d",&i[n]); } fun(i,10); for(n=0;n<10;n++) { fprintf(OUT,"%d\n",i[n]); } fclose(IN); fclose(OUT); }答案:---------------------- int i,t; for(i=0;i答案:Y第2题 (1.0分) 题号:1468 在C语言中,整型数据在内存中占2个字节.答案:N第3题 (1.0分) 题号:8 在Turbo C中,整型数据在内存中占2个字节。答案:N第4题 (1.0分) 题号:23 若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。答案:Y第5题 (1.0分) 题号:1243 C语言是一种结构化程序设计语言[2].答案:Y第6题 (1.0分) 题号:17 x*=y+8 等价于 x=x*(y+8)。答案:Y第7题 (1.0分) 题号:1476 在进行赋值转换时,变量的类型被自动转换为赋值号右边的表达式值的类型.答案:N第8题 (1.0分) 题号:1499 用printf函数输出一个字符串时,格式字符为%s,输出项可以是此字符串或存放此字符串的数组的数组名.答案:Y第9题 (1.0分) 题号:1501 以数组名作函数参数时,实参[3]数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关.答案:N第10题 (1.0分) 题号:1495 以数组名作函数参数时,数据传递的方向是"双向的",因此我们可以说,在此情况下,函数带回的返回值可能不止一个. 二、单项选择 共30题 (共计30分) 第1题 (1.0分) 题号:3196 有如下程序段[4]int a=14,b=15,x;char c=′A′; x=(a&&b)&&(c答案:D第2题 (1.0分) 题号:650 若有说明: int a[][4]={0,0};则下面不正确的叙述是()。 A:数组a的每个元素都可得到初值0 B:二维数组a的第一维大小为1 C:因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1 D:有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0答案:D第3题 (1.0分) 题号:2747 以下运算符中,优先级最高的运算符是(). A:?: B:++ C:&& D:,答案:B第4题 (1.0分) 题号:2900 以下不符合C语言语法的赋值语句[5]是(). A:a=1,b=2 B:++j; C:a=b=5; D:y=(a=3,6*5);答案:A第5题 (1.0分) 题号:502 下列表达式中,可作为C合法表达式的是()。 A:[3,2,1,0] B:(3,2,1,0) C:3=2=1=0 D:3/2/1/0答案:B第6题 (1.0分) 题号:2392 C语言中的标识符[6]只能由字母,数字和下划线三种字符组成,且第一个字符() A:必须为字母 B:必须为下划线C:必须为字母或下划线 D:可以是字母,数字和下划线中任一字符答案:C第7题 (1.0分) 题号:2378 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是() A:a>=10 or a<=0 B:a>=0|a<=10C:a>=10 &&a<=0 D:a>=10‖a<=0答案:D第8题 (1.0分) 题号:3032 若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(). A:p=&x[i]; B:p=x; C:p=x[i]; D:p=&(x+i)答案:A第9题 (1.0分) 题号:3107 判断char型变量cl是否为小写字母的正确表达式是(). A:a'<=cl<='z' B:(cl>=a)&&(cl<=z) C:('a'>=cl)||('z'<=cl) D:(cl>='a')&&(cl<='z')答案:D第10题 (1.0分) 题号:3162 以下叙述中不正确的是(). A:预处理命令行都必须以#号开始 B:在程序中凡是以#号开始的语句行都是预处理命令行 C:C程序在执行过程中对预处理命令行进行处理 D:以下是正确的宏定义 #define IBM_PC答案:C第11题 (1.0分) 题号:2993 下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t); A:7 B:9 C:63 D:49答案:C第12题 (1.0分) 题号:488 C语言中的文件的存储方式有()。 A:只能顺序存取[7] B:只能随机存取[8](或直接存取) C:可以顺序存取,也可随机存取 D:只能从文件的开头进行存取答案:C第13题 (1.0分) 题号:2752 下列字符序列中,不可用作C语言标识符的是(). A:b70 B:#ab C:symbol D:a_1答案:B第14题 (1.0分) 题号:640 以下对二维数组a的正确说明是()。 A:int a[3][] B:float a(3,4) C:double a[1][4] D:float a(3)(4)答案:C第15题 (1.0分) 题号:169 下列说法不正确的是()。 A:主函数main中定义的变量在整个文件或程序中有效 B:不同函数中,可以使用相同名字的变量 C:形式参数[9]是局部变量[10] D:在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效答案:A第16题 (1.0分) 题号:2966 具有相同类型的指针变量p与数组a,不能进行的操作是(). A:p=a; B:*p=a[0]; C:p=&a[0]; D:p=&a;答案:D第17题 (1.0分) 题号:3016 与实际参数为实型数组名相对应的形式参数不可以定义为(). A:float a[]; B:float *a; C:float a; D:float (*a)[3];答案:C第18题 (1.0分) 题号:415 为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。 A:auto B:register C:static D:extern答案:B第19题 (1.0分) 题号:2952 以下函数调用[11]语句中实参的个数是().exce((v1,v2),(v3,v4,v5),v6); A:3 B:4 C:5 D:6答案:A第20题 (1.0分) 题号:3056 若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于 表达式(exp)的是(). A:(exp==0) B:(exp!=0) C:(exp==1) D:(exp!=1)答案:B第21题 (1.0分) 题号:165 下列定义数组的语句中正确的是()。 A:#define size 10 char str1[size],str2[size+2]; B:char str[]; C:int num['10']; D:int n=5; int a[n][n+2];答案:A第22题 (1.0分) 题号:106 以下叙述中不正确的是()。 A:一个好的程序应该有详尽的注释 B:在C程序中,赋值运算符的优先级最低 C:在C程序中,j++;是一条赋值语句 D:C程序中的#include和#define均不是C语句答案:B第23题 (1.0分) 题号:2913 下列程序的输出结果为().main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);} A:27.000000 B:27.500000 C:28.000000 D:28.500000答案:A第24题 (1.0分) 题号:3185 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的 地址的是(). A:&aa[0]+1 B:&aa[1] C:&aa[0]++ D:aa+1答案:C第25题 (1.0分) 题号:677 若已定义的函数有返回值,则以**于该函数调用的叙述中错误的是()。 A:函数调用可以作为独立的语句存在 B:函数调用可以作为一个函数的实参 C:函数调用可以出现在表达式中 D:函数调用可以作为一个函数的形参答案:D第26题 (1.0分) 题号:679 在C语言中,形参的缺省存储类是()。 A:auto B:register C:static D:extern答案:A第27题 (1.0分) 题号:3200 下列程序段的输出结果是()double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);
- A. 3
- B. 3.2
- C.
- D. 3.07
题目解答
答案
A.3