C语言程序设计试卷及答案
C语言程序设计(附答案)
C语言程序设计考试试卷(附答案)计算机程序设计课程56 学时 3.5 学分考试形式:闭卷一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。
A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。
int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。
C语言程序设计试题及参考答案
C语言程序设计试题及参考答案精心整理c语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(d)a、一个c源程序可以由一个或多个函数共同组成b、一个c源程序必须涵盖一个main函数c、c程序的基本共同组成单位就是函数d、在c程序中,注释说明只能位于一条语句的后面2、以下四个选项中,就是不合法的用户标识符的选项就是(b)a、abcb、12acc、sund、a3、建有语句inta=4;则继续执行了语句a+=a-=a*a后,变量a的值就是(a)a、-24b、0c、4d、164、以下运算符中优先级最低的就是(b)a、a、inputx、y、z;b、scanf(“%d%d%d”,&x,&y,&z);c、scanf(“%d%d%d”,x,y,z);d、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456,下面程序的输出结果是:(c)voidmain(){intm,n;scanf(“-=”,&m,&n);printf(“m=%dn=%d\\n”,m,n);}a、m=23n=45b、m=234n=56c、m=23n=456d、语句有错误10、若运转时,给变量x输出12,则以下程序的运转结果就是(a)main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\\n”,y);}精心整理a、0b、22c、12d、1011、c语言中while和do-while循环的主要区别(a)a、do-while的循环体至少继续执行一次b、while的循环控制条件比do-while的循环控制条件严格c、do-while允许从外部转到循环体内d、do-while的循环体不能是复合语句12、以下对二维数组的恰当表明的语句就是(c)a、inta[3][]b、floata(3,4)c、doublea[3][4]d、floata(3)(4)13、以下程序的输出结果是(c)main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);}a、1,5,9b、1,4,7c、3,5,7d、3,6,914、以下能对一维数组a进行正确初始化的语句是(c)a、inta[10]=(0,0,0,0,0);b、inta[10]={};c、inta[10]={0};d、inta[10]={10*1};15、以下程序执行后的输出结果是:(a)intfun(inta,intb,intc){a=456;b=567;c=678;}voidmain(){intx=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\\n”,z,y,x);}a、30,20,10b、10,20,30c、10,30,50d、10,30,4016、以下说法正确的是(a)如果在一个函数中的复合语句中定义了一个变量,则该变量a、只在该复合语句中有效b、在该函数中有效c、在本程序范围内有效d、为非法变量17、以下函数调用语句中含有的实参个数为(b)func((exp1,exp2,exp3),(exp4,exp5));a、1b、2c、4d、518、在c语言程序中,以下观点恰当的就是(b)。
C语言程序设计试卷(含答案)
.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
C语言程序设计试题及答案
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
C语言程序设计基础试题及答案
第一部分C语言基础一、选择题1.以下正确的C语言标识符是()A.%X B.a+b C.a123 D.test!2。
已定义int a,b;则以下不正确的C语句是( )A.a*=5; B.b/=2;C.a+=1.75; D.b&&=a;3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为( )x=(i=4,j=16,k=32)A.4 B.16 C.32 D.524.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A.必须是字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符5。
下面正确的字符常量是( )A.“c" B.’\\”C.‘w’D.”6。
设int a=2,b=0,c;则执行语句c+=b&&a-—后, c的结果为().A.0,1 B.1,0 C.2,0 D.不确定7. 以下不正确的C语言标识符是()A) intB) a_1_2C)ab1exeD)_x8。
以下是正确的C语言标识符是()。
A)#defineB)_123C)%dD) \n9.下列四组字符串中都可以用作C语言程序标识符的一组是().A)print B)i\am C)Pxq D) str_l _3d one_half My->book Cpp••• oodbs tart$it line#pow10.下面各选项组中,均是C语言关键字的组是( ) 。
A)auto,enum,includeB)switch,typedef,continueC) signed,union,scanfD) if,struct,type11。
下列不属于C语言关键字的是( )。
A) defaultB)registerC)enumD)external12.C语言程序从main()函数开始执行,所以这个函数要写在( ). A)程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置13.下列关于C语言的叙述错误的是()A)大写字母和小写字母的意义相同B)不同类型的变量可以在一个表达式中C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义14。
C语言程序设计试卷与答案
C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%)综合 (30%)总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y) B) a=x!=yC) (a*y)%b D) y=x+y=x3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
号学名姓注意行为规范 遵守考试纪律A) 定义了基类型为int的三个指针变量B) 定义了一个名为*pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B)。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D)。
C语言程序设计试题试题及答案
C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。
A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。
A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。
B. 函数的定义不可以嵌套,但函数的调用可以嵌套。
C. 函数的定义和函数的调用均不可以嵌套。
D. 函数的定义和函数的调用均可以嵌套。
7. 在C语言中,下面对函数不正确的描述是( D)。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。
A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D )。
A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( B )。
3套 《C语言程序设计》试卷+参考答案
一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。
(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。
(B)所有的函数都不能嵌套定义,但可以相互调用。
(C)函数的实参应与其对应的形式参数类型一致。
(D)函数可以不加函数返回值类型标识符。
8.一个C程序的执行是。
(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。
计算机c语言程序设计考试题及答案
计算机c语言程序设计考试题及答案一、选择题1. 下列选项中,哪一个是C语言的关键字?a) mainb) inputc) ifd) print答案:c) if2. C语言中用于定义整型变量的关键字是:a) intb) charc) floatd) double答案:a) int3. 在C语言中,以下字符常量的定义方式错误的是:a) 'A'b) '\n'c) 'AB'd) '\t'答案:c) 'AB'4. 下面哪个运算符优先级最低?a) +b) =c) *d) /答案:b) =5. 在C语言中,执行循环操作的语句是:a) forb) whilec) ifd) switch答案:b) while二、填空题1. 在C语言中,输出字符常量的函数是_______。
答案:printf2. 以下是定义数组的正确方式:int numbers[10];答案:int numbers[10];3. 在C语言中,用于判断条件是否成立的关键字是_______。
答案:if4. 以下是C语言中声明一个指针变量的方式:int *ptr;答案:int *ptr;5. 在C语言中,用于输入整型变量的函数是_______。
答案:scanf三、编程题请编写一个C语言程序,计算输入的两个整数相加的结果并输出。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```四、解答题1. 请解释C语言中的指针概念以及指针与变量的关系。
c语言程序设计及答案
一、选择题(1~40题每题1分,41~50题每题2分,共60分)以下各题A、B、C、D四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.微型运算机的运算器、操纵器及内存储器组合在一路,称之为()(此题分值:1分)【正确答案】DD.主机2.以下存储器中,存取速度最快的是()(此题分值:1分)【正确答案】DA.软盘B.硬盘C.光盘D.内存3.系统软件中最重要的是()(此题分值:1分)【正确答案】AA.操作系统B.语言处置程序C.工具软件D.数据库治理系统4、CPU处置的数据大体单位为字,一个字的字长()(此题分值:1分)【正确答案】DA.为8个二进制位B.为16个二进制位C.为32个二进制位D.与CPU芯片的型号有关5.打印当前屏幕内容应利用的操纵键是()(此题分值:1分)【正确答案】D(Print Screen)6.能将高级语言源程序转换成目标程序的是()(此题分值:1分)【正确答案】CA.调试程序B.说明程序C.编译程序D.编辑程序7.二进制数转换成十进制数是()(此题分值:1分)【正确答案】B8.十六进制数转换成十进制数是()(此题分值:1分)【正确答案】A9.中国国家运算机网络设施是()(此题分值:1分)【正确答案】A10.操纵键^C的功能为()(此题分值:1分)【正确答案】AA.终止当前操作B.系统复位C.暂停标准输出设备的输出D.终止命令行为命令处置程序,DOS系统启动后,它()(此题分值:1分)【正确答案】BA.驻留在外存,需要时装入内存B.常驻内存,包括所有内部命令C.不能处置外部命令D.不能处置后缀为.EXE的可执行文件12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应利用命令()(此题分值:1分)【正确答案】C*.PAS .?ASPAS P*.PAS *.P*.PAS *.P??13.设当前盘中文件的途径为\A\B\XU,当前目录为\A\B。
大学C语言程序设计考试试题及答案3套
main()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if (i==j) sum=sum+a[j]; printf(“sum=%d\n”,sum);
} 四、编程题(本大题共 4 题,每题 8 分,共 32 分) 1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示 对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。 2、试编程判断输入的正整数是否既是 5 又是 7 的正倍数。若是,则输出 yes;否则输 出 no。 3、判断数 m 是否为素数(只能被 1 和它本身整除的整数)? 4、对 15 个数进行排序,按从小到大的顺序输出。 《C 语言程序设计》期末考试试卷(A 卷)评分标准及标准答案 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、 B 2、 D 3、 B 4、 B 5、 C 6、 D 7、 B 8、 B 9、 A 10、D 11、C 12、D 13、D 14、C 15、D 16、C 17、C 18、D 19、C 20、B 二、填空题(本大题共 10 空,每空 2 分,共 20 分) 1、 顺序结构 分支结构 循环结构 2、 单精度型(或:float 型) 双精度型(或;double 型] 3、 1 4、
C 语言期末考试试卷
一 单项选择题(每题 2 分,共 40 分)
1 以下叙述正确的是 。 A C 程序基本组成单位是语句 C C 程序每一行只能写一个语句
B 简单 C 语句必须以分号作为结束符 D 注释语句可以嵌套
C语言程序设计试卷(含答案)
main()
{
int x=0,y=1,z=0;
if(x=z=y)
x=3;
printf(“%d,%d\n”,x,z);
}
A)3,0B)0,0C)0,1D)3,1
17.下面的程序
main()
{
int x=100,a=10,b=20,ok1=5,ok2=0;
if(a<b)
if(b!=15)
C)a=4,b=9.50D)a=4,b=9.5
10.设int x=10;x+=x%=(-6)+4;则x=【】。
A)0B)16C)18D)10
11.C语言的下列运算符中,运算对象必须是整型数据的是【】。
A)%B)/C)&&D)*
12..若有代数式(3ae)/(bc),则下面不正确的C语言表达式是【】。
5.空字符串的长度是【】。
A)0B)1C)2 D)3
6.整型变量a定义后赋初值的结果是【】。
int a=2.8*6;
A)12B)16C)17D)18
7.若有以下说明语句,则该语句【】。
char a='\077';
A)使a的值包含1个字符B)使a的值包含4个字符
C)使a的值包含3个字符D)说明不合法
8.下面的程序结果为:【】。
main()
{
int x=023;
printf("%d\n",--x);
}
A)17B)18C)23D)24
9.源程序执行后,屏幕上显示【】。
main()
{ int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
C语言试卷及答案
for(i=0;c=s[i];i++)
if(c==’’) word=0;
else if(word==0)
{word=1;num++;}
printf(“%d\n”,num);
}
(A)2 (B)3 (C)4 (D)5
33.以下程序运行结果是 A
。
#include<string.h>
main() {char s[50]=”1234567”,*p=s; int i; i=*(p+5)-*(p+2); printf(“%d\n”,i*strlen(s)); }
(A)double (B)char (C)int (D)float
10. C 语言中要求操作数必须是整数的运算符是 B
。
(A)/ (B)%
(C)!= (D)=
11.用 scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是 A 。
(A)123,4 (B)123 4 (C)123;4 (D)
(C)C 语言本是没有输入输出语句。
(D)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。
4.以下叙述不正确的是 D
。
(A)逗号运算符的运算级最低。
(B)ABC 和 abc 是两个不同的变量。
(C)若 a 和 b 类型相同,在执行 a=b 后,b 的自身值不变。
(D)‘a’和“a”是完全等价的常量。
(A)for(i=1,p=1;i<=5;i++) p*=i;
(B)for(i=1;i<=5;) { p=1;p*=i;i++;}
(C)i=1;p=1;while(i<=5) { p*=i;i++;}
C语言程序设计考试试题(附答案)
C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。
c语言程序设计题目及答案
一、程序设计共113题第1题题号:319#include ""void wwjt();int fun(int m){int i,k=1;if(m<=1) k=0;for(i=2;i<m;i++)if(m%i==0) k=0;return k;}第2题题号:351-----------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp 所指一维数组中。
二维数组中的数已在主函数中赋予。
#include<>#include<>#define M 3#define N 4void wwjt();void fun(int tt[M][N],intpp[N]){int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]>pp[j])pp[j]=tt[i][j];}第3题题号:375功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)#include <>#include<>void wwjt();double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的素数之积。
(n<28)#include <>#include""void wwjt();long fun(int n){long i,k;long s=1;for(i=2;i<=n;i++){for(k=2;k<i;k++)if(i%k==0)break; if(k==i)s=s*i;}return s;}第5题题号:333功能:计算并输出给定整数的所有因子之积(包括自身)。
大学_C语言程序设计试卷及答案
C语言程序设计试卷及答案C语言程序设计试卷一、单项选择题(20分,每题2分)1.A2.A3.B4.A5.C6.B7.C8.A9.C 10.C二、填空题( 30分,每空2分)(1) 14(2) 1(3) b,c(4) a,c(5) a, b(6) 0(7) 函数说明(8) 函数名(9) 圆括号中的形式参数(10) 0(11) "C:\\TC\\LIB"(12) "C:\\TC\\LIB"(13) "He said:\"I\ m a student.\""(15) -t三、写出程序的运行结果(30分,每题10分)1. 362. efgh3. (1) 函数sub( )的功能是根据当前实参i的值控制其for循环的次数,进一步控制运算:product__=2的次数。
(注:非标准答案,表述相近既可)(2) 运行结果:sum0=1sum1=3sum2=7sum3=15四、编程(完形填空)(20分,每题10分)1.(1) 0(2) =(3) ||(4)(5) \n2.(7) \0(8) i++(9) str2[i]-str1[i](10) %dC语言程序设计试卷答案一、单项选择题(20分,每题2分)1.若整型变量a、b、c、d中的值依次为:1、4、 3、2。
则条件表达式(ab?a:b)(cd?c:d)的值是。
A)1 B)2 C)3 D)02.for(i=0;i10;i++)if(i〈=5) break;则循环结束后i的值为A)0 B)1 C)5 D)103.下面正确的字符常量是:A)“c” B)\\ C)W D)4.C语言中,运算对象必须是整型的运算符是:A)% B)/ C)__ D)+5.数字字符0的ASCII值为48,若有以下程序{char a=1, b=2;printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是。
C语言程序设计试题及答案解析
C语言程序设计试题及答案解析第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp 35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp 36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++)42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
C语言程序设计试题含答案
C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.下面标识符中,可以作为合法变量名的是( )。
答案:B 知识点:【24010201】知识考核要求:【2】能力考核要求:【1】难度系数:【A】A.m@qB.Mo_dayC.mn/5D.char2.设有如下语句:int s,num;s=1005;num=2;则表达式(float)s/num的值是()。
答案:C 知识点:【24030704】知识考核要求:【2】能力考核要求:【1】难度系数:【A】A.502.000000B.502C.502.500000D.503.0000003.设有如下定义语句:chara[10]="ABC";则printf("%s" , a+1);的输出结果为( )。
答案:D 知识点:【24040101】知识考核要求:【3】能力考核要求:【1】难度系数:【B】A.ABCB.CC.ABD.BC4.下列语句的输出结果是()。
inta=0123,b=0456;printf("%o\n",b-a);答案:C 知识点:【24040101】知识考核要求:【3】能力考核要求:【1】难度系数:【B】A.0456B.0123C.333D.5795.以下的for语句循环执行的次数是()。
for(x=0,y=0;(y!=20&&(x<20));x++);答案:C 知识点:【24040301】知识考核要求:【3】能力考核要求:【1】难度系数:【C】A.无限次B.不确定C.20次D.19次6.关于局部变量,下列说法正确的是()。
答案:C 知识点:【24060301】知识考核要求:【3】能力考核要求:【3】难度系数:【B】A.定义该变量的程序文件中的函数都可以访问B.定义处以下的任何语句都可以访问C.形式参数也是一种局部变量,可用于函数之间传递数据D.定义在复合语句中的局部变量,允许在该复合语句外访问7.有如下语句:chars[20]="welcome";char*ps=s;则不能引用字母c的表达式是()。
C语言程序设计考试试卷附答案
C语言程序设计考试试卷附答案一、选择题1. 下列哪个不是 C 语言的数据类型?A. intB. charC. stringD. float答案:C2. 以下哪个关键字用于定义常量?A. constantB. varC. constD. define答案:C3. 在 C 语言的数组中,下标是从几开始的?A. 0B. 1C. -1D. 从任意整数开始答案:A4. 下面哪个运算符用于获取变量的地址?A. &B. *C. %D. #答案:A5. 下面的代码中,输出的结果是什么?```int i = 0;for (i = 0; i < 5; i++) {if (i == 3) {break;}printf("%d ", i);}```A. 0 1 2C. 0 1 2 3 4D. 0 1 2 4答案:A二、填空题1. 填写下面代码的输出结果:```char str[20] = "Hello";printf("%s", ___________);```答案:Hello2. 填写下面代码的输出结果:```int a = 10;int b = 20;int c = ___________;printf("%d", c);```三、编程题1. 编写一个程序,在屏幕上输出从 1 到 10 的所有数字。
答案:```c#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,计算从 1 到 100 所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1 到 100 所有偶数的和为:%d", sum);return 0;}```3. 编写一个程序,实现冒泡排序算法对数组进行升序排序。
计算机应用类专业C语言程序设计试卷及答案
计算机应用类专业C语言程序设计试题及答案一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的选项填入答题卡中的相应位置中。
每小题3分,共48分)1、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则。
A)运行程序段后输出0 B)运行程序段后输出1C)循环的控制表达式不正确 D)程序段执行无限次2、若有说明:static int a[3][4];则数组中各元素。
A)可在程序的运行阶段得到初值0B)可在程序的编译阶段得到初值0C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值03、对两个数组a和b进行如下初始化char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是。
A)a与b数组完全相同 B)a与b数组长度相同C)a和b中都存放字符串 D)a数组比b数组长度长4、下面程序段的运行结果是。
int a=1,b=2,c=2,t;while(a<b<c){ t=a; a=b; b=t; c--; }printf("%d,%d,%d",a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,15、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。
A)float型 B)int型 C)long型 D)double型6 下面程序段运行时输出结果是。
char s[18]= "a book! ";printf("%.4s",s);A.a book!B. a book!B.C. a bo D. 格式描述不正确,没有确定输出7以下能正确定义数组并正确赋初值的语句是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言程序设计 笔试试题题号 一 二 三 四 五 六笔试(70%)综合 (30%)总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y) B) a=x!=yC) (a*y)%b D) y=x+y=x3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
A) 定义了基类型为int 的三个指针变量B) 定义了一个名为 *pt 、具有三个元素的整型数值号学名姓注意行为规范 遵守考试纪律C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B)。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D)。
A) 0 B) 1 C) 8 D) 46. void main( ){int k=011;printf("%d\n",k++); }}程序输出结果是( D )A)12 B) 11 C) 10 D) 97. 以下C语言标识符中,不合法的是( C)。
A) _2 B) a_b C) a--b D) AaBc8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。
A) float B) int C) long D) double9. 以下程序段运行结果是( B)。
enum weekday{aa,bb=2,cc,dd,ee}week=ee;printf(“%d\n“,week);A) 4 B) 5 C) ee D) 010. 以下对C语言函数的描述中,不正确的是( B )。
A) 不同函数中可以使用相同名字变量B) 函数可以嵌套定义C) 函数可以没有返回值D) 程序由函数组成11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是( D )。
A) *p B) *x C) *(p+1) D) x[5]12. 以下程序段运行结果是( B )。
int a=6;printf(“%d\n“,a>>1);A) 12 B) 3 C) 6 D) 113. 若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是( B )。
A) scanf(“%lf%lf”,x,y); B) scanf(“%lf,%lf”,px,py);C) scanf(“%f%f”,&x,&y); D) scanf(“%f%f”,x,y);14. 以下程序运行结果是( D )。
char str[ ]=“abc“;printf(“%d, %d \n“,strlen(str),sizeof(str));A)6,3 B) 3,3 C) 10,10 D) 3,1015. 以下程序段运行结果是( A )。
#define f(x) x*x*xmain( ){ int a=1,b,c;b=f(a+1);c=f((a+1));printf(“%d,%d\n“,b,c);}A) 4,8 B) 8,4 C) 8,8 D) 4,416. 有以下程序:main(){FILE *f;f=fopen(“fa.txt“,“w“);fprintf(f,“day“);fclose(f);}若文本文件fa.txt中原有内容为:hello,则运行以上程序后,文件fa.txt中的内容为( A )。
A)day B) helloday C) daylo D)dayhello二、填空题。
请按序号把答案填入下面框中,不允许出框线。
(本题20分,每空2分)题号答案题号答案1 a[row][col] 6 k<=n2 x%10或x%100%10 7 k++3 23hE45a8 m%i==0&&n%i==04 fun() 9 p=p->next5 m++ 10 s[i]或’\0’1. 以下fun函数功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回。
int fun(int a[N][M]){ int i,j,row=0,col=0;for(i=0;i<N;i++)for(j=0;j<M;j++)if(a[i][j]>a[row][col]){row=i;col=j;}return( 【1】);}2. 以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位,百位的顺序拆分输出。
main(){ int x=123;printf(“%d-%d-%d\n”, 【2】,x/10%10,x/100);}3. 下列程序运行时,若输入23he45a<回车>,输出结果是【3】#include <stdio.h>main(){ char a=0;ch;while((ch=getchar())!=’\n’){if(a%2!=0&&(ch>=’a’&&ch<=’z’)) ch=ch-‘a’+’A’;a++;putchar(ch);}printf(“\n”);}4. 以下程序的功能是,通过函数fun输入字符并统计输入字符个数。
用字符$作为输入结束标志。
#include <stdio.h>long 【4】;/*函数声明语句*/main(){ long n;n=fun(); printf(“n=%ld\n”,n);}long fun(){long m;for(m=0;getchar()!='$'; 【5】);return m;}5. 有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,是下面程序段的功能与之完全相同s=1.0;k=1;while( 【6】){s=s+1.0/(k*(k+1)); 【7】;}printf("s=%f\n\n",s);6. 以下函数的功能是求两个整数的最大公约数。
fun(int m,int n) { int i=1,t;for(;i<=m&&i<=n;i++) if( 【8】 )t=i; return(t);}7. 以下程序将三个struct node 型变量链接成一个链表,并在while 循环中输出链表节点数据域中的数据。
struct node{int data;struct node *next;} main(){ struct node a,b,c,*p,*q;a.data=10;b.data=20;c.data=30;p=&a; a.next=&b;b.next=&c;c.next=NULL;q=p; while(p){printf(“%d,”,p->data); 【9】 ;} printf(“\n ”);}8. 以下程序的功能是:删除字符串中所有的空格。
main(){ char s[20]=”how are you!”; int i,j;for(i=j=0;s[i]!=’\0’;i++) if(s[i]!=’ ’){ s[j]=s[i]; j++; } s[j]= 【10】 ;}三、请把下列程序运行结果填入答案框中,不允许出框线,用“↙”表示回车。
(本题24分,每小题3分) 1. main() { inti,j,a[ ][2]={1,2,3,4};for(i=0;i<2;i++)for(j=i;j<2;j++) printf(“%d ”,a[i][j]); printf(“\n ”);}题号 1 23 4 5 6 7 8 答案12443 64121555553042.main(){char ch[ ]=”453cd34”;int i,s=0;for(i=0;ch[i]>’0’&& ch[i]<’9’;i+=2)s=10*s+ ch[i]-’0’;printf(“%d\n”,s);}3. long fib(int n){if(n>2) return(fib(n-1)+fib(n-2));else return(2);}void main(){printf(“%d\n”,fib(4));}4. main( ){ union example{struct{ int x;int y;}in;int a;int b;}e;e.a=2;e.b=1;e.in.x=e.a+e.be.in.y=e.a*e.b;printf(“%d\n”,e.in.y);}5. struct NODE{int k;struct NODE *link;};void main(){ struct NODE m[3],*p=m,*q=m+2;int i=0;while(p!=q){p->k=++i;p++;q->k=i++;q--; }b6q->k=i;for(i=0;i<3;i++)printf(“%d”,m[i].k);printf(“\n”);}6. main(){ int j,a[]={1,3,5,7,9},*p=a+3;for(j=3;j;j--){ switch(j){case 1:case 2:printf("%d",*(p++));case 3:printf("%d",*(--p));}}}7.main(){int x;for(x=1;x<=50;x++)if(x%2==0)if(x%3==0)if(x%5==0)printf("%d",x);}8.main(){int a,b;for(a=1,b=1;a<=50;a++){ if(b>8)break;if(b%3==1){b+=3;continue;}b-=5; }printf("%d\n",a);}四、根据功能描述改正程序中的错误。