c语言作业答案
- 格式:doc
- 大小:70.00 KB
- 文档页数:11
基础知识作业解答(1)一、选择题:1.下面叙述错误的是:a)C程序中,各种括号应成对出现。
b)C程序中,赋值号的左边不可以是表达式。
c)C程序中,变量名的大小是有区别的。
d)C程序中,若未给变量赋初值,则变量的初值自动为0。
答案:d)解答:C程序中,若未给变量赋初值,则变量的初值不一定为0。
按变量被定义的位置来区分,变量可分为局部变量和全局变量;在{ … } 之间定义的变量称为局部变量,编译系统对局部变量是不进行初始化的,即,不赋初值。
未赋初值的局部变量的值为机内随机值。
在{ … } 之外定义的变量称为全局变量,编译系统自动对全局变量进行初始化。
未赋初值的全局部变量的值为0。
2.下面叙述正确的是:a)C程序中的变量定义语句可以写在函数体中任何位置。
b)C程序中不能有空语句。
c)C程序中的变量必须先定义后使用。
d)C程序中所有简单数据类型都可以准确无误的表示。
答案:c)解答:C程序中,变量定义语句的作用是通知编译系统为变量分配存储空间,所以必须先定义后使用。
3.以下合法的用户标识符的是:a)long b)\t c)5a d)user答案:d)解答:C程序中,合法的用户标识符的定义是:以字母或下划线开头的由字母、数字和下划线组成的字符串,不可以使用系统的关键字作为用户的标识符。
常见的关键字有:int, float ,char ,double ,long, short,unsigned,if,switch,case,break, continue ,do ,for ,while ,struct ,union, auto, static, extern, register;标准函数名可以用作用户标识符,但不提倡。
4.C程序中,合法的关键字的是:a)Float b)while c)Int d)Integer答案:b)5.下面选项中,优先级最高的运算符是:a)&& b)/= c) ! d)<=答案:c)6.下面选项中,优先级最低的运算符是:a)!= b) || c)++ d),答案:d)7.C程序中,运算对象必须为整型数据的运算符是a)++ b) % c) / d) *答案:b)8.假设x,y,z为整型变量,且x=2,y=3,z=10,则下列表达式中值为1的是:a)x && y||z b)x>z c) (!x && y)||(y>z) d)x && !z ||!(y && z)答案:a)解答:C程序中,进行逻辑运算时,所有的非0数都处理成逻辑真;0处理成逻辑假。
一、思考题1、常量和变量有什么区别?它们分别是如何定义的?常量是指在C程序运行过程中其值不变的量,变量是一个值的存放处,其值在程序运行过程中可以被改变。
常量有两种形式:字面常量与符号常量,C语言可以使用以下两种形式定义符号常量(1)用关键字const定义定义格式为:const 类型名常量名=值;(2)用编译预处理命令#define定义格式为:#define <常量名> <值常量>变量的定义格式为:数据类型变量名1,变量名2,…,变量名n;或数据类型变量名1=初值1,变量名2=初值2,…,变量名n=初值n;2、变量的要素有哪些?请用一个例子说明?名字、类型、值和地址int a = 1;int是类型,a是名字,1是值,地址是编译器给a变量分配的内存空间3、变量在整个程序中能有相同的值吗?为什么?请举例说明。
可以,因为变量的值可以被改变,但不是一定被改变。
如果程序中没有其它不同的赋值,变量将保持不变。
4、为什么程序需要有短整型(short)和长整型(long)?整型的值集理论上是所有整数,但由于受到计算机存储单元的限制,C语言的整型只能表示所有整数的一个有限子集,因此,整数有它的表示范围限制,且不同的C语言系统可表示整数的范围可能不同。
不同范围的整型数据所占有的内存空间大小不同。
程序开发人员通过选择能够满足范围要求的类型(short或long),可以减少数据存储空间。
比如,当短整型可以满足数据范围要求时,就没有必要选择需要更多存储空间的长整型。
5、字符’8’和数字8有何不同?字符’8’是字符型,数字8是整型6、C语言有字符串变量吗?没有7、C语言中的运算符“/”和“%”有何区别?C语言中除法运算符“/”与数学中的运算符“÷”的用法和功能完全一样吗?“/”是除法,“%”是取余数,“/”与“÷”的用法和功能不完全一样,“÷”得到的是两数相除后得到的真实值,“/”得到的是两数相除后取整的值。
c语言作业参考答案C语言作业参考答案C语言作为一门广泛应用于计算机编程领域的编程语言,对于初学者来说,可能会面临一些难题和困惑。
为了帮助大家更好地理解和掌握C语言的知识,本文将提供一些C语言作业的参考答案,以供参考和学习。
一、基础语法题1. 编写一个C程序,输出“Hello, World!”。
#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C程序,计算并输出两个整数的和。
#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C程序,判断一个数是否为偶数。
#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}二、数组和指针题1. 编写一个C程序,输入10个整数,然后输出其中的最大值和最小值。
#include <stdio.h>int main() {int arr[10];int i, max, min;printf("请输入10个整数:\n");for (i = 0; i < 10; i++) {scanf("%d", &arr[i]);}max = arr[0];min = arr[0];for (i = 1; i < 10; i++) {if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}printf("最大值:%d\n", max);printf("最小值:%d\n", min);return 0;}2. 编写一个C程序,将一个字符串反转输出。
C 语言课后作业题参考答案第二章2.2 用赋值表达式表示下列计算1) c b a x y +=2) 2/5262)(lne d a x -+= 3) y X aX X=+sin cos π24) R R R R =++1111123 5)232)4(7)2(5)2(31x x x x x y ++++=参考答案:1) y=pow(x,a+pow(b,c))或者:exp((a+exp(c*log(b)))*log(x))2) x=pow(log(sqrt(a+d*d))-exp(26),5.0/2)或者:exp(5.0/2*log(log(sqrt(a+d*d))-exe(26)))3) y=sin(x)/(a*x)+fabs(cos(3.1415926*x/2))4) R=1.0/(1.0/R1+1.0/R2+1.0/R3)5) y=x/(1+(x/(3+(pow(2*x,2)/5+(pow(2*x,3)/(7+pow(4*x,2)))))))2.6 编写程序,输入两个整数,分别求它们的和、差、积、商、余数并输出。
参考答案:#include<stdio.h>void main(){int m,n;printf("请输入2个整数\n");scanf("%d%d",&m,&n);printf("%d+%d=%d\n",m,n,m+n);printf("%d-%d=%d\n",m,n,m-n);printf("%d*%d=%d\n",m,n,m*n);printf("%d 除以%d :%f\n",m,n,(float)m/n);printf("%d 除以%d 的余数:%d\n",m,n,m%n);} 2.9 已知摄氏温度C 与华氏温度F 的转换关系是)32(95-=F C ,编写一个摄氏温度与华氏温度转换的程序,输入C ,输出F.参考答案:#include<stdio.h>void main(){float f,c;printf("请输入摄氏温度的值:\n");scanf("%f",&c); //输入33//f=9*c/5+32; //结果为91.4f=9.0/5*c+32; //结果为91.4//f=9/5*c+32; //结果为65printf("转换为华氏温度是:%f\n",f);} 第3章 分支程序设计3.3 编写程序,输入一个字母,若其为小写字母,将其转换成相应的大写字母,然后输出。
C语言1-7章课后作业答案第一章 C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】请从以下的4个选项中选择一个正确答案。
(1)A (2)C (3)B (4)D(5)A (6)C【习题1-3】填空。
(1)英文字母、下划线、数字(2)函数(3) 函数头、函数体(4)独立(5);、#、/*…*/、{、}、 main、main【习题1-4】请指出以下哪些是合法的标识符?哪些又是合法的用户标识符。
101 int 3ip x_1 x+1 count 1234Xy x%y if while a.bc x&y _ _1_112 Abc name x break for x=y合法的标识符有:x_1、int、count、Xy、if、while、Abc、name、x、break、for合法的用户标识符有:x_1、count、Xy、Abc、name、x【习题1-5】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-6】上机运行本章的3个例题。
略【习题1-7】参照本章例题,编写一个C语言源程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第二章基本数据类型和运算符【习题2.1】上机编辑并调试本章所有例题。
第一章C语言初步一、选择题1.C2.D3.D4.A5.D6.B7.B 8.B 9.C 10.A二、思考与应用题1.A.字符串常量B.字符串常量C.整型常量D.浮点型常量(double)2.A.long doubleB.long intC.floatD.字符型常量3.A.整型常量B.字符型常量C.字符串常量D.字符串常量4.FirstExample: 10,w is Yz is 5.125.int main(void){return 0;}6.#include<stdio.h>int main(void){print f("Hello World");return 0;}7.#include<stdio.h>int main(void){printf("We are to learn correct");printf("C language here");return 0;}/*main*/8.#include<stdio.h>int main(void){/*Local Definition*/int a;float b;char c;/*Statements*/printf("The end of the program."); return 0;}/*main*/9.#include<stdio.h>int main(void){/*Local Definition*/int a;float b;char c,d;/*Statements*/printf("The end of the program."); return 0;}/*main*/10.#include<stdio.h>int main(void){/*Local Definition*/int a;char b,c,d;float e,f;/*Statements*/printf("The end of the program."); return 0;}/*main*/11.A.char option;B.int sum=0;C.float produce=1;12.A.short code;B.float salesTax=.0825;C.double sum=0;13.#include<stdio.h>int main(void){float cost=172.53;printf("The sales total is: $ %6.2f\n",cost);printf("^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^");return 0;}14.#include<stdio.h>int main(void){printf("******\n");printf("******\n");printf("******\n");printf("******\n");return 0;}15.#include<stdio.h>int main(void){printf("*\n");printf("**\n");printf("***\n");printf("****\n");return 0;}16.#include<stdio.h>int main(void){int x1=1;int x2=10;int x3=100;int x4=1000;int x5=10000;printf("%d %d %d %d %d\n",x1,x2,x 3,x4,x5);printf("%f %f %f %f %f\n",x1,x2,x 3,x4,x5);return 0;}17.#include<stdio.h>int main(void){int x;printf("Please enter an integer:\n");scanf("%d",&x);printf("The number as a character:%c\n",x);printf("The number as a decimal:%d\n",x);printf("The number as a float:%f\n",x);return 0;}三、编程题1.#include<stdio.h>int main(void){int x1;int x2;int x3;printf("Please enter three numbers:");scanf("%d%d%d",&x1, &x2, &x3);printf("\nYour numbers forword:\n");printf("%8d\n%8d\n%8d\n",x1,x2,x3 );printf("Your numbers reversed:\n");printf("%8d\n%8d\n%8d\n",x3,x2,x1 );return 0;}2.#include<stdio.h>int main(void){int x1;int x2;int x3;int x4;int x5;int x6;int x7;int x8;int x9;int x10;printf("Please enter 10 numbers:\n");scanf("%d%d%d%d%d%d%d%d%d%d",&x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8, &x9, &x10);printf("\nYour numbers are:\n");printf("%8d%8d\n",x1,x10);printf("%8d%8d\n",x2,x9);printf("%8d%8d\n",x3,x8);printf("%8d%8d\n",x4,x7);printf("%8d%8d\n",x5,x6);return 0;}3.#include<stdio.h>int main(void){int x1;int x2;int x3;int x4;int x5;int x6;int x7;int x8;int x9;printf("Input:\n");printf(" ");scanf("%d%d%d%d%d%d%d%d%d",&x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8, &x9);printf("\nOutput\n");printf("%8d,%d,%d\n",x1,x2,x3);printf("%8d,%d,%d\n",x4,x5,x6);printf("%8d,%d,%d\n",x7,x8,x9);return 0;}第二章表达式与简单程序设计一、选择题1.A2.D3.C4.B5.B6.D7.B二、思考与应用题1.A.2 B.8 C.8 D.0 E.11 2.A.4,4B.4,4 C.4,4 D.2,3 E.4,53.A.12 B.-27 C.14 D.2 E.4 4.A.22.52 B.4.5 C.13.333333 D.0.882353 E.0.075.ABCEF6.A.5 B.2 C.4 D.1 E.7.A.5 B.2 C.4 D.-3 E.6 8.A.5 B.294 C.4 D.29 E.9 9. 50 50 100 2510.#include<stdio.h>int main(void){float x;float y;float p;float s;float total;printf("Please enter x and y:\n");scanf("%f%f",&x,&y);p=x*y;s=x+y;total=s*s+p*(s-x)*(p+y);printf("total=%f",total);return 0;}11.#include<stdio.h>int main(void){int x,y,z;printf("Please enter two integers:\n");scanf("%d%d",&x,&y);z=x*y;printf("%d*%d=%d",x,y,z);return 0;}12.#include<stdio.h>int main(void){float x;int y;printf("Please enter a floating point number:\n");scanf("%f",&x);y=(int)x%10;printf("%d",y);return 0;}13.#include<stdio.h>int main(void){float x;int y;printf("Please enter a floating point number:\n");scanf("%f",&x);y=(int)x/10%10;printf("%d",y);return 0;}14.#include<stdio.h>int main(void){float x;float y;float c;float s;p rintf("Please enter length and width:\n");s canf("%f%f",&x,&y);c=2*(x+y);s=x*y;p rintf("The circumference is %f\n",c);p rintf("The measure of area is %f",s);r eturn 0;}15.#include<stdio.h>int main(void){int a;f loat r;p rintf("Please enter an angle(integer):\n");s canf("%d",&a);r=a/57.295779;p rintf("%d°is %.5f radians",a,r);r eturn 0;}16.#include<stdio.h>int main(void){float c;float F;printf("Please enter centigrade:\n");scanf("%f",&c);F=32+(c*180.0/100.0);printf("Fahrenheit is %f ",F);return 0;}17.(1)double m,v,KinEn;KinEn=m*v*v/2;(2)double b,c,res;res=(b+c)/(2*b*c);18.(1)#include<stdio.h>int main(void){int x=25;x=x+5;printf("%d\n",x);x=x+5;printf("%d\n",x);return 0;}(2)#include<stdio.h>int main(void){int x=10;x=x+2;printf("%d\n",x);x=x+2;printf("%d\n",x);return 0;}(3)#include<stdio.h>int main(void){int x=32;x=x*2;printf("%d\n",x);x=x*2;printf("%d\n",x);return 0;}三、编程题1.A.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x/12;printf("%f inches is %f feet ",x,y);return 0;}B.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x/36;printf("%f inches is %f yards ",x,y);return 0;}C.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x*2.54;printf("%f inches is %f centimeters ",x,y);return 0;D.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x/39.37;printf("%f inches is %f meters ",x,y);return 0;}2.#include<stdio.h>int main(void){int fib1;int fib2;int fib3;fib1=13+21;fib2=21+fib1;fib3=fib1+fib2;printf("%d,%d,%d",fib1,fib2,fib3);return 0;}3.#include<stdio.h>int main(void){int x;int b1;int b2;int b3;int b4;int b5;printf("Please enter an integer(0-32767):\n");scanf("%d",&x);b1=x%10;b2=x/10%10;b3=x/100%10;b4=x/1000%10;b5=x/10000%10;printf("%4d%4d%4d%4d%4d\n",b5,b4,b3,b2,b1);printf("%4d%4d%4d%4d%\n",b4,b3,b2,b1);printf("%4d%4d%4d\n",b3,b2,b1);printf("%4d%4d\n",b2,b1);printf("%4d",b1);return 0;}第三章分支程序设计一、选择题1.C2.D3.A4.B5.B6.A7.C8.C 9.A二、思考与应用题1.A.0 B.1 C.1 D.0 E.0 2.A.x>=y B.x<y C.x!=y D.x==y E.x>y3.A.0 B.1 C.1 D.1 E.0 4.x=4,y=3,z=25.x=4,y=1,z=26.x=4,y=2,z=27.x=4,y=1,z=28.x=0,y=0,z=19.x=2,y=0,z=210.x=0,y=0,z=111.x=0,y=0,z=112.x=-1,y=0,z=013.x=0,y=1,z=014.x=1,y=3,z=115.x=1,y=3,z=116.x=4,y=3,z=017.if(aChar=='E'){c++;printf("Value is E\n");}18.switch(ch){case ‘E’:case ‘e’:countE++;break;case ‘A’:case ‘a’:countA++;break;case ‘I’:case ‘i’:countI++;break;default:printf("Error-Not A,E,or I\a\n"); }三、编程题1.#include<stdio.h>main( ){int x,x1,x2,x3;char grade;printf("please enter three text scores(0-100):\n");scanf("%d%d%d",&x1,&x2,&x3);x=(x1+x2+x3)/3;if(x>=90)grade='A';else if(x>=70&&x<90)if(x3>90)grade='A';elsegrade='B';else if(x>=50&&x<70)if((x2+x3)/2>70)grade='C';elsegrade='D';else if(x<50)grade='F';printf("%c\n",grade);}2.#include<stdio.h>main( ){int year;printf("please enter a year:\n");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0)printf("%d is a leap year!\n",year);elseprintf("%d is a non-leap year!\n",year);}3.#include<stdio.h>main( ){i ntyearNow,monthNow,dayNow,year,month,day,x;printf("Please enter the date today(month day year):\n");scanf("%d%d%d",&monthNow,&dayNow,&yearNow);printf("Please enter your birthday(month day year):\n");s canf("%d%d%d",&month,&day,&year);if(monthNow<month)x=yearNow-year-1;else if(monthNow==month)if(dayNow<day)x=yearNow-year-1;elsex=yearNow-year;elsex=yearNow-year;printf("You are %d years old!\n",x);}4.#include<stdio.h>#include<stdlib.h>#include<time.h>main( ){int number,Ynumber;srand(time(NULL));number=rand()%20+1;printf("I am thinking of a number between 1 and 20.\n");printf("Can you guess what it is?");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{printf("sorry.The number was %d.\n",number);printf("You should have gotten it by now.\n");printf("Better luck next time.");}}}}}}5.#include<stdio.h>main( ){int year,month,day,x=0,y,z;printf("Please enter your birthday:(year month day)\n");scanf("%d%d%d",&year,&month,&day);y=((year-1)*365+((year-1)/4)-((year-1)/100) +((year-1)/400))%7;switch(month){case 12:x=x+30;case 11:x=x+31;case 10:x=x+30;case 9:x=x+31;case 8:x=x+31;case 7:x=x+30;case 6:x=x+31;case 5:x=x+30;case 4:x=x+31;case 3:x=x+28;case 2:x=x+31;case 1:x=x+0;}if(year%4==0&&year%100!=0||year%400==0)day++;z=(x+day+y)%7;switch(z){case 0:printf("The day of your birthday is Sunday!");break;case 1:printf("The day of your birthday is Monday!");break;case 2:printf("The day of your birthday is Tuseday!");break;case 3:printf("The day of your birthday is Wednesday!");break;case 4:printf("The day of your birthday is Thursday!");break;case 5:printf("The day of your birthday is Friday!");break;case 6:printf("The day of your birthday is Saturday!");break;}}6.#include<stdio.h>#include<math.h>main( ){int a,b,c,p;float x1,x2;printf("Please enter a,b,c:\n");scanf("%d%d%d",&a,&b,&c);p=b*b-4*a*c;if(a==0)if(b==0)printf("There is no solution!");else{x1=-(float)c/b;printf("The solution is x1=%f",x1);}elseif(p<0)printf("There is no real solution!");else{x1=-b+sqrt(p)/(2*a);x2=-b-sqrt(p)/(2*a);printf("The solutions are x1=%f,x2=%f",x1,x2);}}。
练习5-1答案一、选择题1-合法的数组说明语句是(B)。
A. int a[]=H string n; C. char a二”string";B・ int a[]={0J,2,345};D. char a[习二「0; TJ2「3字4字2.以下对一维整型数组a的说明正确的是(D)。
A.inta(10); B・ int n=10, a[n]; C・ intn; D. #define SIZE 10scanf("%d", &n); int a[SIZE];int a[n];3.已知:inta[10];,则对a数组元素的正确引用是(D)。
A・ a[I0] B・ a[3.5] C・ a(5) D. a[10-10]4.以下对一维数组a进行正确初始化的语句是(C)。
A・ int a[l0]=(05 0, 0, 0. 0); B. int a[10]={};C. int a[]={0};D. int a[2]={10, 9,8};5.对以下说明语句的正确理解是(B)。
int a[10]={6, 7, 8, 9, 10);A.将5个初值依次赋给a[l]至a[5]B.将5个初值依次赋给a[0]至a[4]C・将5个初值依次赋给a[6]至a[10]D・因为数组长度与初值的个数不相同,所以此语句不正确二、填空题6.求所有不超过200的N值,N的平方是具有对称性质的回文数。
所谓回文数就是将一个数从左到右与从右到左读都是一样的,例如:34543和1234321都是回文数。
例如:满足题意要求的数有:N=l, 11*11 = 121; N=lll, lll*lll=12321o#include <stdio.h>main(){int m[16], n, i, t, count=0; long a, k;printf(H Result is:\n H);for (n=10; n<200: n++) { k=0;t=l;a=n*n;for (i=I; a!=0; i++) {①;a/=10;} for (; i>l; i~){ k+=m[i-l]*t;②;)if (③)printf(H%2d:%10d %10d\n H, ++count, n, n*n);})则①为(m[i]=a%10;).②为(嘗二10;)、③为(k=n*n)o7•设数组a包括10个整型元素。
No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。
一、选择题1. 一个C程序的执行是从A 。
A) 本程序main函数开始,到main函数结束B) 本程序文件第一个函数开始,到最后一个函数结束C) 本程序文件第一个函数开始,到本main函数结束D) 本程序main函数开始,到本程序文件最后一个函数结束2. 以下叙述不正确的是D 。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3. 以下叙述正确的是C 。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) 语言本身没有输入输出语句D) C程序的每行中只能写一条语句4. 一个C语言程序是由B 。
A) 一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成5. 以下叙述中正确的是C 。
A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点6. 下列叙述中正确的是D 。
A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言的函数可以嵌套调用7. 以下叙述中正确的是A 。
A) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main函数必须放在其他函数之前D) 所有被调用的函数一定要在调用之前进行定义8. C语言规定,在源程序中,main函数的位置C 。
A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以任意D) 必须在最后9. 下列选项中不是结构化程序基本结构的是B 。
A) 顺序结构B) 分支结构C) 选择结构D) 循环结构10. 下列四组选项中,均不是C语言关键字的是A 。
A) define IF type B) getc char printfC) include case scanf D) while go pow11. 下列四组选项中,均是不合法的标识符的是B 。
A) W P 0 do B) b-a goto intC) float la0 A D) -123 abc TEMP12. 下列可用于C语言标识符的一组是B 。
A) void, define, WORD B) a3 b3, 123, CarC) For, -abc, IF Case D) 2a, DO, sizeof13. 以面的C程序中,错误的是D 。
A) main() B) main(){ int x,y,z; { int x,y,z;x=0;y=x-1; x=0;y=x+1;z=x+y;} z=x+y;}C) main() D) main(){ int x,z; { int x,y,z;int y; x=0;y=x+1;x=0;y=x+1; z=x+y,}z=x+y;}14. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符C 。
A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字和下划线中任一字符15. 下面各选项中,均是C语言标识符的选项组是B 。
A) 33 we auto B) 23 me 3ewC) 43 3e else D) ER -DF 32二、填空题1. 国际上C语言常见的三个标准是:标准C 、ANSI C 和ISO C 。
2. C语言源程序的文件格式为*.c和*.h 。
3. 请描述C程序中main函数的作用:接受系统调用,开始程序的执行,直至程序结束。
三、程序编写题(请在本页背面作答)1. 编写一个C程序,输出以下信息*******************************Very Good!*******************************2. 编写程序,实现求整数10、20和35的平均值(提示:注意给出的是三个整数,求出的平均值不是整数)1No.: Name:第2讲C语言基本数据类型一、选择题1. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为C 。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522. 下列四组选项中,均是合法转义字符的是A 。
A) ‘\"’ ‘\\’ ‘\n’ B) ‘\’ ‘\017’ ‘\"’C) ‘\018’ ‘\f’ ‘xab’ D) ‘\\0’ ‘\101’ ‘xlf’3. 下面正确的字符常量是D 。
A) "c" B) ‘\\’’ C) ‘’ D) ‘K’4. 以下叙述不正确的是D 。
A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,b中的值不变D) 从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值5. 以下叙述正确的是C 。
A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示6. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2的值为A 。
A) D B) 68 C) 不确定的值D) C7. sizeof(float)是B 。
A) 一个双精度型表达式B) 一个整型表达式C) 一种函数表达式D) 一个不合法的表达式8. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为C 。
A) 0~255 B) 0~32767C) 0~65535 D) 0~21474836479. 设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型D 。
A) float B) char C) int D) double10. 设以下变量均为int类型,则值不等于7的表达式是C 。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)11. C语言中的基本数据类型包括B 。
A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 字符型、实型、逻辑型12. 若变量已正确定义并赋值,以下符合C语言语法的表达式是B 。
A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b13. C语言中运算对象必须是整型的运算符是A 。
A) %= B) / C) = D) <=14. 若变量a,i已正确定义,且i已正确赋值,合法的语句是B 。
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);15. int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A 。
A) 2.500000 B) 2.750000C) 3.500000 D) 0.00000016. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是D 。
A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;17. 设有int x=11;则表达式(x++*1/3)的值是A 。
A) 3 B) 4 C) 11 D) 1218. 下列数据中,不合法的C语言实型数据的是C 。
A) 0.123 B) 123e3 C) 2.1e3.5 D) 789.019. 若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是D 。
A) a的值是字符CB) 不允许字符型和浮点型相加C) a的值是浮点型D) a的值是字符‘A’的ASCII值加上120. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是B 。
A) n=(n*100+0.5)/100.0 B) m=n*100+0.5,n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.021. 下面四个选项中,均是不正确的8进制数或16进制数的选项是D 。
A) 016 0x8f 018 B) 0abc 017 0xaC) 010 -0x11 0x16 D) 0a12 7ff -12322. 以下选项中,与k=n++完全等价的表达式是A 。
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+123. 下面均是合法整型常量的选项是A 。
A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) -01 986012 0668 D) -0x48a 2e5 0x24. 假定x和y为double型,则表达式x=2,y=x+3/2的值是D 。
A) 3.500000 B) 3 C) 2.000000 D) 3.00000025. 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是A 。
A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z26. 已知int k,m=1;执行语句k=-m++;后,k的值是A 。
A) -1 B) 0 C) 1 D) 227. 已知int m;float k;正确的语句是D 。
A) (int k)%m B) int(k)%mC) int(k%m) D) (int)k%m28. 不能进行++和--运算的数据类型为D 。
A) 指针B) 整型C) 长整型D) 常量2No.: Name:29. putchar函数可以向终端输出一个D 。
A) 整型变量表达式B) 实型变量值C) 字符串D) 字符或字符型变量值30. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
字符串长度大于5,则输出按方式B ;如果字符串长度小于5,则输出按方式C 。
A) 从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格D) 输出错误信息31. 阅读以下程序,当输入数据的形式为:25,13,10ê,则正确的输出结果为D 。