C语言练习题2014-1
- 格式:doc
- 大小:329.00 KB
- 文档页数:46
《C语言程序设计》专升本练习题(学习资料仅供练习)目录专升本《C语言》练习题一 (1)专升本《C语言》练习题二 (9)专升本《C语言》练习题三 (17)专升本《C语言》练习题四 (24)专升本《C语言》练习题五 (31)专升本《C语言》练习题六 (42)专升本《C语言》练习题七 (48)专升本《C语言》练习题八 (58)专升本《C语言》练习题九 (65)专升本《C语言》练习题十 (72)专升本《C语言》练习题一6 10专升本《C语言》练习题二专升本《C语言》练习题三一、单项选择题1. C语言源程序文件经过编译连接之后生成一个后缀为__C__的文件。
A.”.c”B.“.obj”C.“.exe”D.“.bas”2. 以下选项中不正确的整型常量是_C____。
A. 12LB. -10C. 1,900D. 123U3. 表达式___C___的值是0。
A.3%5B.3/5.0C.3/5D.3<54. 表达式!(x>0||y>0) 等价于__D___。
A.!x>0||!y>0B.!(x>0)||!(y>0)C.!x>0&&!y>0D.!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。
A.4&&3B.+aC.a=b=5D.int(3.14)6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
A.2030,40B.20 30 40C.20, 30 40D.20, 30,407. 执行语句printf(”__D____”, 2); 将得到出错信息。
A.%dB.%oC.%xD.%f8. 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B__个元素。
2014计算机二级c语言试题及答案一、单项选择题(每题1分,共40分)1. C语言中,用于定义变量的关键字是:A. intB. floatC. doubleD. char答案:A2. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = 'Hello';D. char str[6] = 'Hello';答案:A3. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 在C语言中,以下哪个选项是正确的数组定义方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4};5. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:A6. 在C语言中,以下哪个选项是正确的函数定义?A. int function(int a, int b) { return a + b; }B. int function(int a, int b) = { return a + b; }C. int function(int a, int b) { return a + b; }D. int function(int a, int b) { return a + b; }答案:A7. C语言中,以下哪个关键字用于定义函数?A. defineB. defC. functionD. void答案:D8. 在C语言中,以下哪个选项是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D9. C语言中,以下哪个选项是正确的条件语句?B. elseC. switchD. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针定义方式?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。
《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。
答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。
A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。
A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。
A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。
A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。
int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。
A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。
A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。
int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。
int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。
A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。
例1.1在屏幕上输出一个字符串,内容如下:Welcome to CA simple program#include<stdio.h> // 第1行int main() // 第2行{printf("Welcome to C\nA simple program"); // 第4行return 0;} // 第5行例1.2一个简单的加法计算程序:求两个整数的和。
#include<stdio.h>int main(){int x, y, sum; //定义变量printf("Input data:\n"); //显示提示信息scanf("%d",&x); //输入一个整数printf("Input data:\n"); //显示提示信息scanf("%d", &y); //输入一个整数sum=x+y; //计算和printf("sum=%d\n", sum); // 输出和return 0; // 结束函数执行}例1.3输入三个数实数,输出其中最大的数。
#include<stdio.h>double max(double x, double y) // 第2行{double m; // 定义变量mif(x>y) // 比较两数x和y,较大者赋值给m m=x;elsem=y;return m; // 结束max函数执行,返回m的值} // 第10行int main() // 第11行{double a,b,c,t,maxdata;printf("Please input a b c:\n");scanf("%lf%lf%lf",&a,&b,&c);t=max(a,b); // 调用函数max,求a、b中较大者 maxdata=max(t,c); // 调用函数max,求t、c中较大者 printf("max=%f\n",maxdata); // 输出maxdatareturn 0;}例2.1输入一个字符,输出该字符的字形及其ASCII码。
2014年C语言试题一、选择题(40*1)1 对用C语言编写的代码程序,以下叙述中正确的是(B)A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行2 以下选项中正确的实型常量是(D)A、0B、3. 1415C、0.03*102D、.323 C语言中不合法的字符串常量是(B)A、"\121 "B、'y= 'C、"\n\n "D、"ABCD\x6d "4 C语言中运算必须是整型的运算符是(B)A、/B、%C、*D、+5 C语言中的简单数据类型有(C)A、整型、实型、逻辑型B、整型、字符型、逻辑型C、整型、实型、字符型D、整型、实型、逻辑型、字符型6 以下选项中不合法的用户标识符是(D)A、PRINTFB、fileC、MainD、wb-17 以下非法的赋值语句是(C)A、n=(i=2,++i)B、j++C、++(i+1)D、x=i>08 C语言中不合法的常量是(D)A、'\xff 'B、'\65 'C、'& 'D、'\028 '9 C语言中,字符(char)型数据在计算机内存中的存储形式是(D)A、反码B、补码C、EBCDIC码D、ASCII码10 以下程序的输出结果是(D)void main(){ int x=10,y=3;printf("%d\n ",y=x/y);}A、0B、1C、不确定的值D、311 以下程序段的输出是(A)int x=496;printf("*%-06d*\n ",x);A、*496 *B、* 496*C、*000496*D、输出格式不合法12 若变量已经正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是(D)A、read(a,b,c);B、scanf("%d%d%d ",a,b,c);C、scanf("%D%D%D ",&a,&b,&c)D、scanf("%d%d%d",&a,&b,&c)13 以下合法的C语言赋值语句是(D)A、a=b=58B、k=int(a+b);C、a=58,b=58D、- - i;14 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(A)A、1B、0C、2D、615 以下程序执行后输出结果是(B)void main(){ int i=10,j=1;printf("%d,%d\n ",i--,++j);}A、9,2B、10,2C、9,1D、10,116 设有语句char a= '\172 ';,则变量a(A)A、包含一个字符B、包含2个字符C、包含个字符D、说明不合法17 若变量已经正确定义,要将a和b中的数据进行交换,下面不正确的语句是(C)A、a=a+b,b=a-b,a=a-b;B、t=a;a=b;b=tC、a=t;t=b;b=a;D、t=b;b=a;a=t;18 若变量已经正确说明,要求用以下语句给c1赋值字符%,给c2赋值字符#,给a赋值2.0,给b赋值4.0,则正确的输入形式是(B)scanf("%f%c%f%c ",&a,&c1,&b,&c2);A、2.0 % 4.0 #B、2.0%4.0#C、2 % 4#D、2 % 4 #19 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A、6.500000B、7C、5.500000D、6.00000020 以下程序执行后的输出结果是(D)void main(){int i=1,j=1,k=2;if((j++||k++)&& i++) printf("%d,%d,%d\n ",i,j,k);}A、1,1,2B、2,2,1C、2,2,2D、2,2,321 下列运算符中优先级最高的运算符是(A)A、!B、%C、-=D、&&22 运行以下程序后,输出的结果是(A)void main(){ int k=-3;if(k<=0)printf("****\n ");elseprintf("&&&&\n ");}A、****B、&&&&C、****&&&&D、有语法错误不能通过编译23 以下程序段的输出结果是(B)void main(){ char x= 'A ';x=(x> 'A ' && x< 'Z ')?(x+32):x; printf("%c\n ",x ); }A、aB、AC、ZD、z24 以下的程序执行后输出的结果是(A)void main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n ",d);else if((c-1>=d)==1)printf("%d\n ",d+1);else printf("%d\n ",d+2);}A、3B、2C、编译出错D、425 若执行以下程序时从键盘上输入3和4(输入方式:3 4),则输出的结果是(C)void main(){ int a,b,s;scanf("%d%d ",&a,&b);s=a;if(as*=s;printf("%d\n ",s);}A、14B、18C、16D、2026 设a、b和c都是int变量,且a=3,b=4,c=5,则以下的表达式中,值为0的表达式是(D)A、a&&bB、a<=bC、a||b+c&&b-c D、!((a<b)&&!c||1)< p="">27 以下的程序运行结果是(D)void main(){ int a=2,b=-1,c=2;if(a<b)< p="">if(b<0) c=0;else c+=1;printf("%d\n ",c);}A、0B、1C、3D、228 以下程序的输出结果是(C)void main(){ int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n ",a,b);}A、a=2,b=2B、a=1,b=1C、a=2,b=1D、a=1,b=029 若x是int类型变量,以下程序段的输出结果是(D)for(x=3;x<6;x++)printf((x%2)?( "**%d "):( "##%d\n "),x);A **3C ##3D **3##4##4 **4 **4##5 **5**5 ##530 以下程序的输出结果是(A)int n=10;while(n>7){ n--;printf("%d ",n);}A、987B、1098C、10987D、987631 以下程序段的输出结果是(C)int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4){m++;} printf("%d\n ",m);A、12B、15C、20D、2532 以下程序段的输出结果是(C)int x=3;do{ printf("%3d ",x-=2);} while(!(--x));A、1C、1 -2D、死循环33 以下的程序输出结果为(A)void main(){ int i;for(i=0;i<3;i++)switch(i){ case 1:printf("%d",i);case 2:printf("%d",i); default: printf("%d",i);}}A、011122B、012C、012020D、12034 以下程序的输出结果是(C)# includevoid man(){ int i;for(i=1;i<5;i++){if(i%2) putchar('< ');else continue;putchar('> ');}putchar('# ');}A、<><><>#B、><><><#C、<><>#D、><><#35 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是(B)A、b=aB、strcpy(b,a)C、strcpy(a,b)D、strcat(b,a)36 下面的程序输出结果是(A)void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、4C、1D、237 以下对整型数组a的正确说法是(D)A、int a(10);B、int n=10,a[n];C、int n;sacnf("%d ",&n);int a[n]D、#define SIZE 10 int a[SIZE];38 以下程序的输出结果是(B)void main(){ int i,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n ",sum);}A、15B、不确定C、16D、039 以下程序的输出结果是(A)void main(){ int i,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、3,5,7B、1,4,7C、1,5,9D、3,6,940 若fp是指向某文件的指针,且已经读到文件的末尾,则库函数feof(fp)的返回值是(A)A、EOFB、-1C、NULLD、非零值二、填空题(20*1)1、C语言中函数的组成部分包括函数头和函数体。
第 1 页 共 7 页5. 有输入语句:scanf(“a=%d,b=%d,c=%d ”,&a,&b,&c);为使变量 a 的值为1,b 的值为2,c 的值为3,则正确的数据输入方式是( )。
(↙表示回车) (A )123↙ (B )1,2,3↙ (C )a=1 b=2 c=3↙ (D )a=1,b=2,c=3↙6.已知字母A 的ASCII 码值为十进制的65,下面程序的输出结果是( )。
#include<stdio.h> main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf(“%d,%c\n”,ch1,ch2); }(A )67,D (B )B,C (C )C,D (D )不确定的值 7. 为表示关系x ≥y ≥z ,应使用C 语言表达式( )。
(A )(x>=y)&&(y>=z) (B )(x>=y)AND(y>=z) (C )(x>=y>=z) (D )(x>=y) & (y>=z)8. 设有数组定义:char array[]=“China ”;则数组array 所占的存储空间为( )。
(A )4个字节 (B )5个字节 (C )6个字节 (D )7个字节 9. 以下程序的输出结果是( )。
#include<stdio.h> main(){ int x=1,a=0,b=0; switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf(“%d,%d”,a,b);}(A)2,1 (B)1,1 (C)1,0 (D)2,210. 若k为整型变量,则下列while循环执行的次数为()。
第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
BA、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。
BA.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是()。
AA._buy_2 B.2_buy C._buy D.buy4. 请选出可用作C语言用户标识符的一组标识符()。
BA.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
BA.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
dA.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
bA.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
bA.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
bA.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
cA.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
aA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
cA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。
习题答案习题1(参考答案)1.程序与算法的概念及二者的区别是什么?程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。
算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地讲,就是计算机解题的步骤。
算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。
2.简述程序设计语言发展的过程程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。
一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。
首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。
一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
“面向对象”是一种以事物为中心的编程思想。
面向对象的方法主要是将事物对象化,对象包括属性与行为。
面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。
编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
4.C语言程序的特点是什么?(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。
(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。
(3)数据类型丰富。
C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。
2014《C语言》模拟试题及答案(经典)一、单选题1. C语言中基本数据类型有。
CA)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型2. 在C语言中,数字O29是一个。
AA)八进制数 B)十进制数 C)十六进制数 D)非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是。
AA)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4.下列关于C语言用户标识符的叙述中正确的是。
BA)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。
5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是。
DA) 顺序结构B) 选择结构C) 循环结构 D) 数组结构6. C语言提供的合法关键字是。
DA) swicth B) cha C) Case D) default7.以下非法的赋值语句是CA) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;【解析】对表达式不能进行自加自减运算。
8.在以下一组运算符中,优先级最高的运算符是。
A) <= B) = C) % D) &&【解析】C语言常用的积累运算符的优先级关系是:逻辑非“!”>算术运算符>关系运算符>逻辑与“&&”>逻辑或“||”>赋值运算符>逗号运算符。
由于C选项为求余运算符,所以本题正确答案为C选项。
C语言练习题1.从键盘输入3个正整数,将他们按照由大到小的顺序输出出来。
#include<stdio.h>void main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);}2.编写程序,计算一元二次方程ax2 +bx+c=0的根。
#include<math.h>/* 函数的声明*/#include<stdio.h>void main(){float a,b,c,dt;printf(”Input a,b,c:”);scanf(’%f,%f,%f’,&a,&b,&c);/*输人数据用逗号分隔*/if(a==0)if(b==0)printf(”\nIt is not a que stion!” );elseprintf(”\n Only one root ,it is:%f” ,-c/b);else{dt =b*b-4·0*a*c;if(dt>=0.0)/*有2个实根*/{ dt=sprt(dt);printf(’Two root are :%f,%f’,(-b+dt)/(2*a),(-b-dt)/(2*a));}elseprintf(’There is no root’);/*无实数根*/}}3.编写程序,使用if语句根据输入的x值和下述公式计算相应的f(x)值。
4.编写一个函数,unsigned GYS(unsigned u, unsigned v),函数的功能是计算正整数u和v的最大公约数。
编写main函数,调用GYS函数。
要求在main 函数中实现输入和输出。
5.从键盘输入一行字符,统计其中英文字母、空格、数字和其他字符的个数。
第一一、选择题1. 以下不是C语言的特点的是()。
A.语言简洁紧凑B.能够编制出功能复杂的程序C.C语言可以直接对硬件操作D.C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3. 正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\05. 不属于C语言关键字的是()。
A.int B.break C.while D.character6. 是C语言提供的合法关键字的是()。
A.Float B.Signed C.integer D.char7.一个C程序是由()。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成8. C语言程序的基本单位是()。
A.程序行 B.语句 C.函数 D.字符9.以下选项中,合法的实型常数是()。
A.5E2.0 B.E-3 C.2E0 D.1.3E10.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是()。
A.字符A B.字符a C.字符c D.非法的常量11.以下选项中,正确的字符常量是()。
A.”F” B.’\\’’ C.’W’ D.’123’12.以下选项中可作为C语言合法整数的是A.10110B B.0386 C.0Xffa D.x2a214.已知各变量的类型说明如下:int m=8,n, a, b;unsigned long w=10;double x=3.14, y=0.12;则以下符合C语言语法的表达式是()。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)15.已知字母A 的ASCII 码为十进制数65,且S 为字符型,则执行语句S=’A’+’6’-’3’;后,S 中的值为( )。
A .’D’B .68C .不确定的值D .’C’ 16.在C 语言中,要求运算数必须是整型的运算符是( )。
A ./ B .++ C .*= D .%17.若有说明语句:char s=’\72’;则变量s ( )。
A .包含一个字符 B .包含两个字符C .包含三个字符D .说明不合法,s 的值不确定18.若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是( )。
A .2.500000B .2.750000C .3.500000D .0.000000 19.在C 语言中,char 型数据在内存中的存储形式是( )。
A .补码 B .反码 C .原码 D .ASCII 码 20.表达式13/3*sqrt(16.0)/8的数据类型是( )。
A .intB .floatC .doubleD .不确定21.设以下变量均为int 类型,则值不等于7的表达式是( )。
A .(m=n=6, m+n, m+1) B .(m=n=6, m+n, n+1)C .(m=6, m+1, n=6, m+n)D .(m=6, m+1, n=m, n+1)22.假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是( )。
A .7B .8C .6D .223.putchar 函数可以向终端输出一个( )。
A .整型变量表达式B .字符串C .实型变量D .字符。
第二一、选择题1.与数学式子123 x x n对应的C 语言表达式是 。
A )3*x^n/(2*x-1)B )3*x**n/(2*x-1)C )3*pow(x,n)*(1/(2*x-1))D )3*pow(n,x)/(2*x-1)2.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c 的值为 。
A )1.4B )1C )2.0D )23.设x 、y 、t 均为int 型变量,则执行语句:x=y=3;t=++x||++y;后,y 的值为 。
A )不定值B )4C )3D )1 4.以下程序的输出结果是 。
# include <stdio.h> main() {int i=010,j=10;printf("%d,%d\n",++i,j--);}A)11,10 B)9,10 C)010,9 D)10,95.若float a,b,c;要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是。
A)10<回车>22<回车>33<回车> B)10.0,22.0,33.0<回车>C)10.0<回车> 22.0 33.0<回车> D)10 22<回车> 33<回车>6.请选出合法的C语言赋值语句。
A)a=b=58 B)i++; C)a=58,b=58 D)k=int(a+b);7.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是。
A)INPUT x、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);8.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是。
A)3 B)0 C)9 D)-129.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为。
A)1 B)2 C)3 D)410.若变量c为char类型,能正确判断出c为小写字母的表达式是。
A)'a'<=c<= 'z' B)(c>='a')||(c<= 'z')C)('a'<=c)and ('z'>=c) D)(c>= 'a')&&(c<= 'z')11.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是。
A)6.000000 B)7 C)8 D)7.50000012.执行下面的程序段int x=35;char z='A';int b;b=((x&&15)&&(z<'a'));后,b的值为。
A)0 B)1 C)2 D)313.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是。
A)6 B)0 C)2 D)114.假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;则该程序运行后,m的值是。
A)4 B)1 C)2 D)2二、填空题1.有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n", m,c, n);若从键盘上输入:10A10<回车>,则输出结果是。
2.下列程序的输出结果是什么?# include <stdio.h>main(){ int a=2,c=5;printf("a=%%d,b=%%d\n",a,c);}3.以下程序的输出结果是什么?main(){ char c='z';printf("%c",c-25);}4.若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf("%d,%o\n", m, n);执行后输出结果是什么?5.有以下程序main(){ char a,b,c,d;a='\';b='\xbc';c='\0xab';d='A';printf("%c %c %c %c\n",a,b,c,d);}编译时出现错误,分析出错误的语句。
6.写出下面程序的输出结果。
#include"stdio.h"main(){ char a='2',b='a';int c;c=a+b;a=c;printf("%c %c %d \n",a,b,c);}7.下面程序的输出结果是。
main(){ int a=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);}8.以下程序的输出结果是。
main(){ int a=0;a+=(a=8);printf("%d\n",a);}9.以下程序输出的结果是。
main(){ int a=5,b=4,c=3,d;d=(a>b>c);printf("%d\n",d);}10.以下程序运行后的输出结果是。
main(){ int p=30;printf("%d\n",(p/3>0?p/10:p%3));}11.分析以下程序的输出结果。
#include<stdio.h>#include<math.h>main(){ int a=1,b=4,c=2;float x=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;pritnf("%f\n",z);}12.分析以下程序的输出结果。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}13.分析以下程序的输出结果。
main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}三、按要求写结果1、计算下面表达式的值。