01C++语言程序设计习题集(顺序结构和简单分支结构)-ok
- 格式:doc
- 大小:32.50 KB
- 文档页数:2
2001~2002学年“C语言程序设计基础”试卷试题一、单项选择题(每小题 2 分,共20 分)1.C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A、循环B、递归C、转移D、嵌套2.若x是单精度实型变量,表达式(x = 10/4) 的值是_____ 。
A、2.5B、2.0C、3D、 23. 表达式!x 等价于_____。
A、x==0B、x==1C、x != 0D、x != 14.若变量已正确定义且k 的值是4,计算表达式( j = k--) 后,_____。
A、j=3, k=3B、j=3, k=4C、j=4, k=4D、j=4, k=35. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。
A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.C语言中,形参的缺省的存储类说明是______。
A、autoB、staticC、registerD、extern7.下列语句定义pf为指向float类型变量f的指针,_____是正确的。
A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f;8.表达式sizeof(“key”) 的值是______。
A、1B、2C、3D、49.将程序prog.c编译后运行:prog –nla hello world 则*(*(argv+2)) 是______。
A、’p’B、‘-‘C、‘h’D、‘w’10.若a是整型变量,表达式~(a ^ ~a ) 等价于______。
A、~aB、1C、0D、2试题二、填空题(每小题 3 分,共24 分)1.写出语句printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。
第一章答案选择题1~5 C B A C D 6~10 C C A C B11~14 A A C B填空题1.主函数main函数2.函数的说明部分函数体3.最外层的一对大括弧内的部分4.变量定义部分执行部分5.输入和输出函数6.函数7.小写8.省略第二章答案一、选择题1~5 D D D A C 6~10 A A D D D11~15 D A A D D 16~20 A C B B A21~25 A A C A C 26~30 B C B B A31~35 D D A B B 36~40 C C A B A41~45 B A C C B 46~50 D A B A C51~55 A A A B D 56~60 A B B B C61~65 A D B A C 66~68 B D C二、填空题1.基本类型构造类型指针类型空类型2.数组类型结构体类型共用体类型3.整型字符型实型枚举类型4.常量5.整型常量实型常量字符常量字符串常量6.用一个标识符代表一个常量7.数值型常量8.大写小写C 语言程序设计习题集1399.其值可以改变的量10.整型变量实型变量字符型变量11.数据类型数据类型12.标识符13.字母数字下划线字母下划线14.使用15.十进制十六进制八进制16.基本型短整型长整型无符号int short long unsigned17.字母l或L18.十进制数形式指数形式19.单精度双精度20.单引号21.逗号22.变量初始化23.fgab c dehj k注:第一行空白处分别为一个、三个空格第二行空白处分别为六个、三个空格24.-32768~+3276725.字符形式整数形式26.A B27.3228.双引号29.‟\0‟30.75.531.double32.-1038~103833.双目34.左结合35.x=3.600000,i=336.-3,437.赋值表达式算术表达式关系表达式逻辑表达式条件表达式逗号表达式38.表达式239.赋值逗号18 18 18 340.9,11,9,1041.逗号42.强制类型转换C 语言程序设计习题集140第三章答案选择题1~5 A B D B A 6~10 A B B A D11~15 D A A C D 16~20 C C C B A21~23 A A D填空题1.控制语句空语句复合语句函数调用语句表达式语句2.函数调用3.向终端输出一个字符4.在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出5.格式说明普通字符6.d,c,s7.小于,左,右8.连续两个%9.从终端输入一个字符10.地址a在内存中的地址11.变量地址变量名12.一个分号13.花括弧14.10<CR>40<CR>4<CR>4<CR>(<CR>表示回车换行符)15.double a,b;a+b a-b a*b a/b16.65 A17.10<CR>40<CR>2,0<CR>3,0(<CR>表示回车换行符)18.32<CR>16,15<CR>40<CR>13,13(<CR>表示回车换行符)19.3.140000,3.14120.a<cr>编程题1.#include <stdio.h>main( ){char c1,c2;c1=getchar( );printf(“%c,%d\n”,c1,c1);c2=c1+‟A‟-…a‟;printf(“%c,%d\n”,c2,c2);C 语言程序设计习题集141}2.#include <stdio.h>#include <math.h>main( ){float a,b,c,disc,x1,x2,realpart,imagpart;scanf(“%f%f%f”,&a,&b,&c);printf(“the equation”);if(fabs(a)<=1e-6)printf(“is not quadratic”);else disc=b*b-4*a*c;if(fabs(disc) <=1e-6)printf(“has two equal roots:%8.4f\n”,-b/(2*a));else if (disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf(“has distincr real roots: %8.4f\n”,x1,x2);}else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(“has complex roots:\n”);printf(“%8.4f+%8.4fi\n”,realpart,imagpart);printf(“%8.4f-%8.4fi\n”,realpart,imagpart);}}3.mian( ){printf(“I am a student.\n”);printf(“I love China.\n”);}第四章答案选择题1~5 B A D B B 6~10 A C D B D11~15 A D A B A 16~20 C D C D C21~25 B C A D A 26~30 A C C B BC 语言程序设计习题集14231~35 D B C B A 36~40 D A D A A41~43 C C D二、填空题1.else与它前面最近的一个if配对2.由键盘输入一个数,打印出它的类型标识符3.if(a<=b) {x=1; printf(“ * * * * y=%d\n”,y); }else { y=2; printf(“ # # # # x=%d\n”,x); }4.(1) a= =0(2)b= =0(3 ) _derta<05.OK!NO!ERROR!6.x=1 y=0x=27.(1)x/10(2)case 0: case 1: case 2: case 3: case 4: case 5:(3)case 9:8.a=b a<c t=b9.ch>=‟A‟&& c<=‟Z‟ ch=ch-3210.-111.x=612..根据条件判定值,从两种选择对象中,选取一个作为整个运算的结果13..整个条件表达式的结果就取自运算分量b的结果,整个条件表达式的结果就取自运算分量c的结果14..!,&&,||15. (1)2(2)3CCa=2,b=2,c=416.(1)a<b||a<c(2)a>c&&b>c(3)fmod(a,2)= =117.3,2,3,318.0 119.(1)3(2)2(3)3 C 语言程序设计习题集14320.x>10&&x<100||x<021.10110三、编程题1.#include <math.h>#include <stido.h>main( ){float a,b,c,s,s1;printf(“Please enter 3 reals:\n”);scanf(“%f%f%f”,&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);s=sqrt(s1);printf(“\nArea of the triangle is %f\n”,s);}elseprintf(“It is not triangle!\n”);}2.#include <stdio.h>#define pi 3.14159main( ){int k;float r,c,a;printf(“input r,k\n”);scanf(“%f%d”,&r,&k);switch(k){case 1: a=pi*r*r; printf(“area=%f\n”,a);br eak;case 2: c=2*pi*r;printf(“circle=%f\n”,c);break;cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f circle=%f\n”,a,c);break;}}3. main( ){int year,leap;scanf(“%d”,&year);if(year%4= =0){if(year%100= =0){if(year%400= =0)leap=1; C 语言程序设计习题集144else leap=0;}else leap=1;}else leap=0;if(leap)printf(“%d is ”,year);else printf(“%d is not ”,year);printf(“ a leap year\n”);}4.#include <math.h>main(){float x,y;scanf(“%f”,&x);if(x<0) y=x*x;else if(x>=0&&x<10) y=-0.5*x+10;else y=x-sqrt(x);printf(“y=%f”,y);}5.main(){float score;scanf(“%f”,&score);if(score>=90) printf(“A”);else if(score>=80) printf(“B”);else if(score>=70) printf(“C”);else if(score>=60) printf(“D”);else printf(“E”);}6.main( ){int num,a,b,c,d,p;scanf(“%d”,&num);if(num<=9999&&num>999) p=4;else if(num>99) p=3;else if(num>9) p=2;else if(num>0) p=1;printf(“位数是:%d\n”,p);a=num/1000;b=num/100%10; C 语言程序设计习题集145c=num/10%10;d=num%10;switch(p){case 4:printf(“%d%d%d%d\n”,d,c,b,a);case 3:printf(“%d%d%d \n”,d,c,b);case 2:printf(“%d%d\n”,d,c);case 1:printf(“%d \n”,d);}}第五章答案选择题1~5 A C C C B 6~10 D D A C B11~15 A B A B A 16~20 B B C A C21~25 A A A B B 26~30 D B D D C31~35 C D C A B 36 D二、填空题1.(1)先判断条件是否成立(为真),若成立(为真)再执行循环语句(2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立,则结束循环。
(完整版)C语言程序设计_习题大全(含答案)_C语言-1编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)C语言程序设计_习题大全(含答案)_C语言-1)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)C语言程序设计_习题大全(含答案)_C语言-1的全部内容。
C语言基础一:1。
下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2。
下面四个选项中,均是合法整型常量的选项是( A ).A)160 B)—0xcdf C) -01 D)-0x48a—0xffff 01a 986,012 2e5011 0xe 0668 0x<<02〉〉B>〉23.下面四个选项中,均是不合法的转义符的选项是( B )。
A) ’\”’ B) '\1011’ C)’\011’ D)’\abc'’\\' '\' '\f’ '\101’’xf’ '\A' ’\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)’abc' B)”12'12" C)"0” D)””5。
以下选项中不合法的用户标识符是( A )。
A)abc。
c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D ).A) swithB) cherC) Case). Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8。
C语言程序设计教程第一章习题答案1、算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述2、c语言程序的结构如下:1、c语言程序由函数组成,每个程序必须具有一个main函数作为程序的主控函数。
2、"/*"与"*/"之间的内容构成c语言程序的注释部分。
3、用预处理命令#include可以包含有关文件的信息。
4、大小写字母在c语言中是有区别的。
5、除main函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。
例如:void main(){int a,b,c,s;a=8;b=12;c=6;s=a+b*c;printf("s=%d\n",s);}3、c语言的特点:1、c语言具有结构语言的特点,程序之间很容易实现段的共享;2、c语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。
3、c语言运算符丰富,运算包含的范围很广;4、c语言数据类型丰富。
5、c语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;6、c语言语法限制不太严格,程序设计自由度大,这样是c语言能够减少对程序员的束缚;7、用c语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;4、合法标识符:AB12、leed_3、EF3_3、_762、PAS、XYZ43K2不合法标识符:a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D5、F2:将当前编辑器中文件存盘F10:调用主菜单F4:程序运行到光标所在行Ctrl+F9:当前编辑环境下,进行编译、连接且运行程序;Alt+F5:将窗口切换到DOS下,查看程序运行结果6、(1):********************welcome youvery good********************(2):please input three number;5,7,8max number is:87、main8、User screen、Alt+F59、标识符必须是字母或下划线开头,大小写字母含义不同。
顺序结构程序设计习题1、【变量自增运算问题】题目描述:键盘输入整型变量A的值,输出A增加10、再减少30、扩大20倍、缩小5倍后的值。
(要求采用算术复合赋值运算)输入格式:5 输出格式:-602、【交换变量问题】题目描述:键盘输入两个整型变量A、B的值,利用中间变量C交换A、B的值并输出。
输入格式:1 2 输出格式:2 1思考:交换其它数据类型变量的值问题。
3、【三位数数位和问题】题目描述:从键盘输入一个三位的自然数M,分离出它的百位、十位与个位上的数字并求和输出。
输入格式:523 输出格式:104、【大写转小写问题】题目描述:键盘输入一个大写字母,要求改用小写字母输出。
输入格式:A 输出格式:a思考:小写转大写问题。
5、【温度计数转换问题】题目描述:输入一摄氏温度,编程输出华氏温度。
已知:华氏温度转换为摄氏温度的计算公式如下:C=(F-32)5/9;其中,F表示华氏温度,C表示摄氏温度。
输入格式:0 输出格式:326、【长度计数转换问题】题目描述:编程实现输入千米数,输出显示其英里数。
已知:1英里=1.60934千米(用符号常量)。
输入格式:1 输出格式:0.6213简单的分支结构程序设计1、【数字比较问题】题目描述:从键盘上输入两个整型数,比较其大小,并输出显示其中较小的数。
输入格式:20 -30 输出格式:-30思考:输出其中较大的数。
2、【绝对值问题】题目描述:从键盘输入一个浮点型数x,要求不使用系统函数,输出其绝对值。
输入格式:-10.1 输出格式:10.115 153、 【打折问题】题目描述:国庆期间,某超市购物优惠规定:所购物品不超过100元时,按九折付款,如超过100元,超过部分按8折收费,请编一程序完成超市自动计费的工作。
输入格式:90 输出格式:81110 984、 【分段函数问题】题目描述:有一函数如下所示,要求已知x 值时,输出y 值。
输入格式:0.1 输出格式:0.18 1315 105、 【勾股定理】题目描述:输入三角形的三边(整型数据,且数据由小到大排列),利用勾股定理 (商高定理、韦达定理)判断它是否是直角三角形。
程序设计语言C_习题集(含答案)《程序设计语言C》课程习题集西南科技大学成人、网络教育学院版权所有习题【说明】:本课程《程序设计语言C》(编号为03004)共有单选题,编程题, 填空题等多种试题类型,其中,本习题集中有[ 填空题]等试题类型未进入。
一、单选题1.在C语言中,合法的长整型常数是AA) OL B) 4962710 C) 324562& D) 216D2.以下有4组用户标识符,其中合法的一组是CA) For B) 4d C) f2_G3 D) WORD3.以下选项中合法的字符常量是BA)"B" B) '\010' C) 68 D) D4.以下程序的输出结果是Dmain(){ int a=3;printf("%d\n",a+(a-=a*a) );}A) -6 B)12 C) 0 D) -125.设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 的值位为CA) 0 B) 1 C)2 D) 36.t为int类型,进人下面的循环之前,t的值为0while( t=l ) B{ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是BA) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定8.以下程序的输出结果是Cmain(){ int i, a[10];for(i=9;i>=0;i- -) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.以下选项中,不能正确赋值的是AA) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char *s4="Ctest\n";10.以下程序的输出结果是Dunion myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B) 5 C) 6 D) 011.以下叙述正确的是CA) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点12. C语言中用于结构化程序设计的三种基本结构是AA) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-while D) if、for、continue13.下列关于C语言用户标识符的叙述中正确的是BA) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段in t m=0,n=0; char c=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:AA) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015.有以下程序main()A{ 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) 011122 B) 012 C) 012020 D) 12016.有以下程序Bmain(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,117.有以下程序Dvoid f(int x,int y){ int t;if(x<="">}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,518.有以下程序Cmain(){ char *s[]={"one","two","three"},*p; p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two19.有以下程序Cmain(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 920.设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是AA) STD tt[2]={{1,’A’,62},{2,’B’,75}};B) STD tt[2]={1,"A",62,2,"",75};C) struct tt[2]={{1,’A’},{2,’B’}};D) struct tt[2]={{1,"A",62.5},{2,"B",75.0}};21.以下选项中属于C语言的数据类型是DA)复数型B)布尔型C)集合型D)整型22.一个C程序的执行是从AA)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是CA)3 B)0C)-12 D)924.若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是C A)cd\0e B)'c''d' C)cd D)cd e25.已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是BA)*(*p+3) B)*p+3 C)*(*(p+0)+3) D)a[0][3]26.以下有宏替换不正确的叙述DA)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符串替换D)宏名必须用大写字母表示27.执行char str[10]=”Ch\nina”; strlen(str)的值是BA)5 B)6 C)7 D)928.下面程序的输出结果是D#define POWER(x) (x*x)main(){int i=4; printf("%d",POWER(i-2)); }A)-9 B)-7 C)5 D)-629.在定义int a[3][4];后,第10个元素是DA)a[2][4] B)a[3][2] C)a[3][3] D)a[3][1]30.下面程序的输出结果是Dtypedef struct{long x[2];short y[4];char z[8];}MYTYPE;MYTYPE a;main(){ printf("%d\n",sizeof(a));}A)2 B)8 C)14 D)2431.以下能正确进行字符串赋值的是CA)char s[5]={‘a’,’e’,’I’,’o’,’u’} B)char s[5];s=”good”C)char s[5]=”abcd” D)char s[5];s[]=”good”32.若有float x;则sizeof(x)和sizeof(float)两种描述AA)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是AA)3*a*e/b*c B)3*a*e/b/c C)a/b/c*e*3 D)a*e/c/b*334.下面程序的运行结果是DMain( ){struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);}A)0 B)1 C)3 D)635.若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用Cint a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A)*(a+i) B)a[p-a] C)p+i D)*(&a[i])36.设有以下宏定义:C#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为A)44 B)45 C)32 D)3337.在如下程序段中的while循环Bint k=0;While(k=1) k++;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为D#includeMain(){ int k=0;Char c=’A’;Do{switch(c++){ case ‘A’:k++;break;Case ‘B’:k- -;break;Case ‘C’:k+=2;bre ak;Case ‘D’:k=k%2;break;Case ‘E’:k=k*10;break; Default:k=k/3;}K++;}while(c<’G’);Printf(“k=%d”,k);}A)k=4 B)k=6 C)k=7 D)k=839.下列程序运行的结果为C#includefun(int x,int y,int *cp,int *dp) {*cp=x+y;*dp=x-y;}main(){ int a,b,c,d ;a=30 ;b=50;fun(a,b,&c,&d);printf(“%d,%d\n”,c,d);}A)50,30 B)30,50 C)80,-20 D)80,2040.阅读程序回答问题:main( ){ int i,j,k,m=0;for(i=1;i<4;i++)for(j=1;j<4;j++)for(k=1;k<4;k++)m++;printf(“M=%d”,m);}以上程序输出M=( ). DA)3 B)6 C)9 D)2741.能将高级语言编写的源程序转换为目标程序的是CA)链接程序B)解释程序C)编译程序D)编辑程序42.以下4组用户定义标识符中,全部合法的一组是AA)main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00143.设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()DA)a++ B)b++ C)c++ D)d++;44.以下4个选项中,不能看作一条语句的是DA){;} B)a=0,b=0,c=0 C)if(a>0) D)if(b==0) m=1;n=2;45.有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("another\n");case '1': printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是CA)another B)another C)another D)numbernumber number number numberanother number46.有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是CA)1,2,3 B)3,1,2 C)1,3,2 D)2,3,147.有以下程序段Dint a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)948.有以下程序A#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后输出结果是A)28 B)22 C)16 D)449.设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是BA)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量50.有以下程序Cint a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是A)10 B)9 C)7 D)851.组成C程序的基本单位是AA)函数B)标识符C)表达式D)语句52.设int类型的数据长度为2字节,则该类型数据的取值范围DA)0至65536 B)0至65535 C)-32767至32768 D)-32768至3276753.在C语言中,逻辑值“真”是用( )表示的。
第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
目录重要次重要重复或欲删除基础第一章 C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章 C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
一、选择题1.结构化程序设计的3种结构是(D)A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构2.以下叙述中正确的是(C)A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点3.C语言中用于结构化程序设计的3种基本结构是(A)A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue4.C语言中最简单的数据类型包括(B)A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型5.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B) A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b6.下列可用于C语言用户标识符的一组是(B)A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof7.C语言中运算对象必须是整型的运算符是(A)A)%=B)/C)=D)<=8.若变量a,i已正确定义,且i已正确赋值,合法的语句是(B)A)a= =1B)++i;C)a=a++=5;D)a=int(i);9.已知int t=0;while (t=1){...}则以下叙述正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对10.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是(B) A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>22.0<空格>33.0<回车>D)10<<空格>>22<回车>33<回车>11.有如下程序: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)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=212.有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是(C)A)1,1,2B)2,2,1C)2,2,2D)2,2,313.有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是(C)A)0.000000B)0.250000C)0.500000D)1.00000014.有如下程序:main(){int n=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是(B)A)987B)876C)8765D)987615.在下列选项中,没有构成死循环的是(D)A) int i=100;while(1){i=i 0+1;if(i>100)break;}B) for(;;);C) int k=10000;do{k++;}while(k>10000);D) int s=36;while(s)--s;16.设int x=1,y=1;表达式(!x||y--)的值是(B)A)0B)1C)2D)-117.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D) A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参18.有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是(B)A)编译出错B)9C)21D)9.019.若有以下调用语句,则不正确的fun函数的首部是(D)main(){int a[50],n;…fun(n,&a[9]);…}A)void fun(int m,int x[])B)void fun(int s,int h[41])C)void fun(int p,int *s)D)void fun(int n,int a)20.fseek函数的正确调用形式是(B)A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)21.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是(C)A)EOFB)-1C)1D)NULL22.若有说明语句:char c='\72';则变量c (A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定23.若有说明 int a[3][4];则a数组元素的非法引用是(D)A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]24.设有以下说明语句struct stu{int a;float b;}stutype;则下面的叙述不正确的是(C)A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名25.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式26.若运行时给变量x输入12,则以下程序的运行结果是(A)main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是(C)A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分28.表达式0x13^0x17的值是(A)A)0x04B)0x13C)0xE8D)0x1729.有以下程序main(){int a=3, b=4;printf("%d\n", (a++)*(b++));}程序运行后的输出结果是 (A)A)12B)15C)16D)2030.下列程序执行后的输出结果是(A)void func(int *a,int b[]){b[0]=*a+6;}main(){int a,b[5];a=0; b[0]=3;func(&a,b);printf("%d\n",b[0]);}A)6B)7C)8D)931.若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是(D)A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等32.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是(C)A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,33.以下程序的运行结果是(A)struct date{int year,month,day;}today;main(){printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1234.若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是(D) A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point35.在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是(B)A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定36.fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是(A)A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'37.若执行下述程序时,若从键盘输入6和8时,结果为(B)main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对38.fscanf函数的正确调用形式是(D)A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);39.下列关于C语言数据文件的叙述中正确的是(D)A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件40.有以下程序void ss(char *s,char t){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d';ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是(B)A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd41.struct link{int data;struct link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
C语言习题册答案集(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第1章绪论一、选择题1~5 CABCD 6~10 BDCBC 11~15 AADCC二、程序填空题1、一个C语言程序是由函数组成的。
2、C源程序的后缀名为3、在C程序中,main()函数最多有 1 个。
4、一个C语言程序总是从主函数/main( ) 开始执行。
5、在C语言里输入是由 scanf 函数实现,输出是由 printf函数实现。
6、C语言中,当复合语句多于一条时,要求有一对 { } 括号。
7、一个C源程序必须经过_ 编译__和_链接__生成exe文件才能运行8、在一个C程序中注释部分两侧的分界符分别为_/*_____和_*/___9、编写计算机所程序所使用的语言称为__程序设计语言______。
10、程序设计语言的发展经历了三个阶段__机器语言__、_汇编语言_和__高级语言__第2章基本数据类型及顺序结构程序设计一、选择题01~05 ACDDA 06~10 ACAAC 11~15 BDBBC16~20 DABAA 21~25 DBDAA 26~30 ADDCB31~35 BDCAB二、程序填空题1、__基本数据类型、_构造类型___ 和___其它类型_______。
2、 4 、 4 、 8 、 1 。
3、 double4、 x<-5||x>5或 abs(x)>55、 y%2==1 或y%2!=06、 x%3==0&&x%7==0或x%21==0 ,7、 10 , 10 。
8、printf(“****a=%d, b=%d****”,a,b) 。
9、a:b ; c:t1 ;10、 x%10 , x/10%10 ;三、程序阅读题1、 G 。
2、 2, 1 。
3、 0 。
4、 16 。
5、2,50 。
6、 b 。
7、 3 。
8、10,20,0 。
目录第一单元程序设计和C语言 (1)第二单元顺序程序设计 (2)第三单元分支程序设计 (6)第四单元循环程序设计 (13)第五单元数组 (21)第六单元函数 (32)第七单元指针 (40)第八单元结构体和共用体..................................................... 错误!未定义书签。
第九单元文件..................................................................... 错误!未定义书签。
附加题.. (60)模拟试卷一................................................................................. 错误!未定义书签。
模拟试卷二................................................................................. 错误!未定义书签。
模拟试卷三................................................................................. 错误!未定义书签。
第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是:。
A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从开始执行。
A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以。
A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是:。
A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是。
习题参考答案第一章一选择题1 答:选B。
分析:在C语言中,程序中的注释可以出现在程序中任何地方,为了方便程序理解,一般不建议写在变量名或关键字的中间,但这样写程序是允许的,故选项A不正确。
在C语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”、“-”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换成ASCII值进行运算,故选项C不正确。
C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误,故选项D也不正确。
2 答:选D。
分析:C语言中的标识符只能由字母、数字和下划线构成,并且第一个字符必须是字母或者下划线,同时不能与C语言中的关键字相同。
3 答:选C。
分析:在C语言的算术运算符中,取余运算符”%”的左右两侧的两个运算分量必须是整数,所以选项C的赋值语句是错误。
4 答:选B。
5 答:选B。
分析:选项A和B互斥,因此必有一个是错误的,在C语言运行工程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。
6 答:选A。
分析:选项A中整数常量不能有千位分隔符,错误。
选项B表示的是一个转义字符,三位八进制数代表一个ASCII字符。
7 答:选A。
分析:实数常量的指数形式要求字母e(或E)前后必须有数字,且后面的指数必须为整数。
所以选项B、C、D均是不合法的指数形式。
8 答:选A。
分析:此题考查C语言中赋值表达式的概念。
用一个赋值运算符“=”将一个变量和一个表达式连接起来的式子称为赋值表达式。
选项A中缺少表达式。
9 答:选B。
分析:根据优先级先计算x/y,即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,由于z定义为整型,故最终结果为1。
二上机改错题1 答:第一行的末尾有多余的分号“;”第一行的文件名stdio.h缺双引号“”或< >括住第二行主函数main的末尾有多余的“;”第二行的注释有错,C语言规定“/”与“*”之间不能有空格main函数体缺函数体括号“{}”第三行的注释有错,C语言规定:注释内容由一对“/*”和“*/”括住,并且“/*”总是与离它最近的“*/”配对,由此可以看出,改行注释中有一个多余的“,”,末尾的“*/”由于没有“/*”与之配对,因此也是多余的。
C语言程序设计习题集及答案习题集基础知识一单项选择题(每题2分,共44分)1以下叙述正确的是___。
AC程序基本组成单位是语句BC程序每一行只能写一个语句C简单C 语句必须以分号作为结束符D注释语句可以嵌套2一个C语言程序是从___开始执行的。
A程序中第一个函数B名为main的函数C包含文件(头文件)的第一个函数D程序中的第一个语句3请选出合法的C语言赋值语句___。
Aa=b=58Bi++;Ca=58,b=58Dk=int(a+b);4下面标识符中,合法的用户标识符是___。
A1abcBincludeCa-b-c123Dchar5以下所列的C语言整形常量中,正确的是___。
A0某10B0976C076LD01ff6C语言中下列运算符的操作数必须为整型的是___。
A%B++C/D=7设a和b均为int型变量,则执行以下语句后的输出为___。
inta=20;intb=3;printf(\%d\\n\,a+=(b%=2));A20B21C0D238已知inti;,则执行语句i=2.6;后,i的值为___。
A2B3C2.6D不确定9以下合法的字符常量为___。
A'ab'B'\\482'C'\\'D'\\某af'10若y为int型变量,则执行以下语句后,y的值是___。
y=8;y+=y-=y某y;A64B–56C–112D–4811以下合法的浮点型常量是___。
Ae-3B1.5e+2.4C3.14e+2LD3.14e+512设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知floata=2;intb=3;则执行下列语句输出为___。
printf(\%d\,izeof(a某b)+2/5);A4B8C6D713设int型占2个字节,且inti=-2;,则语句printf(\%u\,i);的输出结果为___。
浙江大学“程序设计基础-C”试题卷2001-2002学年春季学期考试时间: 2002年6月30日下午2:00-4:00注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题2分,共20分)1. C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A.递归B.转移C.循环D.嵌套2. 下列运算符中,优先级最高的是_____。
A.->B.++C.&&D.=3. 表达式!(x>0&&y>0) 等价于_____。
A.!(x>0)||!(y>0)B.!x>0||!y>0C.!x>0&&!y>0D.!(x>0)&&!(y>0) 4. 表达式sizeof("\nsum=%d\n") 的值是______。
A.8B.9C.10D.115. 以下选项中不正确的实型常量是_____。
A.0.23E B.2.3e-1 C.1E3.2 D.2.3e06. 表达式______的值不是1。
A.0?0:1B.5%4C.!EOF D.!NULL7. 数组定义为int a[11][11],则数组a 有_____个数组元素。
A.12B.144C.100D.1218. 对于以下的变量定义,表达式______是不正确的。
struct node {int j, k;} x, *p=&x;A.p->k=2B.(*p).k=2C.x.k=2D.x->k=29. 不正确的赋值或赋初值的方式是______。
A.char str[ ]="string";B.char str[10]; str="string";C.char *p="string";D.char *p; p="string";10. 设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。
顺序结构程序设计习题
1、【变量自增运算问题】
题目描述:键盘输入整型变量A的值,输出A增加10、再减少30、扩大20倍、缩小5倍后的值。
(要求采用算术复合赋值运算)
输入格式:5 输出格式:-60
2、【交换变量问题】
题目描述:键盘输入两个整型变量A、B的值,利用中间变量C交换A、B的值并输出。
输入格式:1 2 输出格式:2 1
思考:交换其它数据类型变量的值问题。
3、【三位数数位和问题】
题目描述:从键盘输入一个三位的自然数M,分离出它的百位、十位与个位上的数字并求和输出。
输入格式:523 输出格式:10
4、【大写转小写问题】
题目描述:键盘输入一个大写字母,要求改用小写字母输出。
输入格式:A 输出格式:a
思考:小写转大写问题。
5、【温度计数转换问题】
题目描述:输入一摄氏温度,编程输出华氏温度。
已知:华氏温度转换为摄氏温度的计算公式如下:C=(F-32)5/9;其中,F表示华氏温度,C表示摄氏温度。
输入格式:0 输出格式:32
6、【长度计数转换问题】
题目描述:编程实现输入千米数,输出显示其英里数。
已知:1英里=1.60934千米(用符号常量)。
输入格式:1 输出格式:0.6213
简单的分支结构程序设计
1、【数字比较问题】
题目描述:从键盘上输入两个整型数,比较其大小,并输出显示其中较小的数。
输入格式:20 -30 输出格式:-30
思考:输出其中较大的数。
2、【绝对值问题】
题目描述:从键盘输入一个浮点型数x,要求不使用系统函数,输出其绝对值。
输入格式:-10.1 输出格式:10.1
15 15
3、 【打折问题】
题目描述:国庆期间,某超市购物优惠规定:所购物品不超过100元时,按九折付款,如超过100元,超过部分按8折收费,请编一程序完成超市自动计费的工作。
输入格式:90 输出格式:81
110 98
4、 【分段函数问题】
题目描述:有一函数如下所示,要求已知x 值时,输出y 值。
输入格式:0.1 输出格式:0.1
8 13
15 10
5、 【勾股定理】
题目描述:输入三角形的三边(整型数据,且数据由小到大排列),利用勾股定理 (商高定理、韦达定理)判断它是否是直角三角形。
若数据无法构成三角形输出Error ;构成直角三角形输出Yes ;否则输出No 。
输入格式:3 4 5 输出格式:Yes
3 4 4 No
1 1 3 Error
思考:输入数据不一定有序的情况。
6、 【求解一元二次方程】
题目描述:求一元二次方程ax 2+bx+c=0 (输入数据保证a 不为0) ,试讨论下述情况:⑴ b 2-4ac=0,有两个相等实根;⑵ b 2-4ac>0,有两个不等实根;⑶ b 2-4ac<0,无实根。
要求:⑴⑵输出根的情况,⑶输出“No real root ”字符串。
输入与输出数据自定。
7、 【排序问题】
题目描述:键盘任意输入三个整数,请按由大到小的顺序输出。
输入格式:3 4 5 输出格式:5 4 3
8、 【大小写转换问题】
题目描述:键盘输入一个字符,判别它是否是英文字母,如果是,将它轮换成其大(小)写对应字母;如果不是,不转换。
然后输出最后得到的字符。
输入格式:a 输出格式:A
A a
1 1
9、 【闰年问题】
题目描述:编程判断输入年份是否为闰年。
若是输出“Yes ”,若不是输出“No ”。
输入格式:2004 输出格式:Yes
1900
No
x, x<1 x+5, 1≤x<10 x-5, x ≥10
Y=。