C语言练习题(1)
C语言练习题1
一、语言基础选择题1. 下面说法中,正确的是 BA)C语言是机器语言B)C语言程序可以由一个或多个函数构成C)C语言程序总是从第一个函数开始执行D)C语言程序不用编译就可以直接运行2.C语言程序的基本单位是 CA) 程序行 B) 语句 C) 函数 D) 字符3.一个C语言程序的上机步骤是 AA) 编辑,编译,连接,执行 B) 编译C) 编辑,连接,执行 D) 连接,编译,执行4. 已知有定义:char ch;则如下正确的赋值为 AA) ch=‘M’; B) ch=’55’; C) ch="M"; D) ch="55";5.在Turbo C环境中,查看程序运行结果的快捷键是 DA) F5 B) Ctrl+F9 C) F8 D) Alt+F56.下列变量名中合法的是 CA) B.C.Tom B) 3a6b C) _b5a8 D) $ABC7. C语言中,要求运算数必须是整型的运算符是 DA) / B)+ + C)!= D)%8. 已知 int j,i=1;则执行j=-i++; i和j的值为 BA)1,-1 B)2,-1 C)1,1 D)2,19.在C语言中,数字035是一个 AA)八进制数 B)十六进制数 C)十进制数 D)非法数10.C语言中用于结构化程序设计的三种基本结构是___A___A)顺序结构、选择结构、循环结构 B)if、switch、breakC)for、while、do-while D)if、for、continue11.如下程序运行后的输出结果是___B___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=1,b=1 B)a=2,b=1 C)a=1,b=0 D)a=2,b=2 12. 下列说法中,正确的是___C___int i,x;for(i=0,x=0;i<=5&&x!=4;i++);A)循环体一次也不执行 B)是无限循环C)最多执行6次 D)最多执行5次13.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是___D___ A)3 B)0 C)9 D)-1214.有输入语句:scanf("a=%d,b=%d",&a,&b),为使变量a值为3,b值为7,从键盘输入数据的正确形式是___A___A)a=3,b=7<回车> B)a=3 b=7<回车> C)3 7<回车> D)3,7<回车>15.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是___D___#include <stdio.h>main(){char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}A) 因输出格式不合法,输出错误信息 B)65,90C)A,Y D)65,8916.如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为___D___A)ture B)false C)0 D)117.以下关于break和continue语句的说明正确的是__C____A) break用于switch结构,continue用于循环结构。
C语言练习1
C语言练习1一、单选1、以下标识符中,合法的用户标识符为【】。
A) b–b B) CCP C) hiy D)_iswAbc float INT2、若int类型数据占2个字节,则下列语句的输出结果为【】。
C. int k=-1; printf(“%d,%o”,k,k);D. A) –1,–1 B) –1,32767 C) –1,177777 D) –1,655353、在宏定义 #define PI 3.14159中,用宏名PI代替一个【】A) 单精度数 B) 双精度数 C) 常量 D) 字符串4、设有以下定义【】int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是A)a++; B)b++ C)c++; D)d++;5、下面的程序【】int a=3,b=4; char str=’c’;printf(“%d,%c”,a, str, b);执行后,输出结果为:A)3,c,4 B)3 4 C)3,c D)程序出错6、表达式 7/4*sqrt(16.0)+8值的数据类型是【】。
A. intB. doubleC. floatD.不确定7、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是【】A) c=b=a;B) (a=c) ∥(b=c) ;C) (a=c) &&(b=c); C) a=c=b;8、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是【】A) p+1 B) a+1 C) a++ D) ++p9、以下说法中正确的是【】A) C语言程序总是从第一个的函数开始执行B) C语言程序中要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分10、设有以下定义: 【】A. typedef union { long i; int k[5];char c;}DATE;B. struct date { int cat;DATE cow;double dog;}too;C. DATE max;D. 则下列语句的执行结果是E. printf("%d",sizeof(struct date)+sizeof(max));A) 25 B) 30 C) 18 D) 811、以下4个选项中,不能看作一条语句的是【】。
C语言练习题1
C语言练习题1第八章结构体与共用体1练习题一、c语言基础知识1.1选择题1.以下不是c语言的特点的就是(b)。
a.语言简洁紧凑b.能够编制出功能复杂的程序c.c语言可以直接对硬件操作d.c 语言移植性好2.以下字符序列中,不容用做c语言标识符的就是(b)。
a.abc123b.no.1c._123_d._ok3.正确的c语言标识符是(a)。
a._buy_2b.2_buyc.?_buyd.buy?4.恳请挑选出可以用做c语言用户标识符的一组标识符(b)。
a.voidb.a3_b3c.ford.2adefine_123-abcdowordifcasesizeof5.以下符号中,不属于转义字符的就是(b)。
a.\\\\b.\\0xaac.\\td.\\06.不属于c语言关键字的是(d)。
a.intb.breakc.whiled.character7.就是c语言提供更多的合法关键字的就是(b)。
a.floatb.signedc.integerd.char8.以下不能定义为用户标示符的是(d)。
a.一个主程序和若干子程序共同组成b.一个或多个函数共同组成c.若干过程共同组成d.若干子程序共同组成10.c语言程序的基本单位是(c)。
a.程序行b.语句c.函数d.字符20.下列变量定义中合法的是aa.short_a=1-.le-1;b.doubleb=1+5e2.5;c.longdo=0xfdal;d.float2_and=1-e-3;9xn21.与数学式子对应的c语言表达式是(c)。
2x?1a.9*x^n/(2*x-1)b.9*x**n/(2*x-1)c.9*pow(x,n)*(1/(2*x-1))d.9*pow(n,x)/(2*x-1)第八章结构体与共用体222.若存有代数式3ab,则不正确的c语言表达式是(c)。
cda.a/c/d*b*3b.3*a*b/c/dc.3*a*b/c*dd.a*b/d/c*323.已知各变量的类型说明如下:intm=8,n,a,b;unsignedlongw=10;doublex=3.14,y=0.12;则以下符合c语言语法的表达式是(a)。
C语言练习题一及答案
C语言练习题一一、填空题。
(每空1分,共10分)1.语句while(e==0):中的条件e==0等价于_____________;答案:!e2 printf(“%4s”,“beijing”);输出为:_____________;答案:beijing3.C语言中的字符串以字符_____________;答案:答案:\04.C语言可以处理的文件类型是_____________和_____________;答案:文本文件和二进制文件5,int(*P)[5];说明p是:_____________;答案:指向一维整形数组的指针变量6.函数直接或间接地调用自己,被称为函数的_____________;答案:递归7.若有static int x[5],x[4]的地址表示是:___________ 。
答案:&x[4]或x+48.有程序段如下:int x=l:while (x<=lO){x+=3;printf(“%d\n”,x);}则:函数printf()执行次数是____4_____ ,循环结束后X的值是___________ 。
答案:139.若有以下定义和语句,则sizeof(a)的值是_____,答案:12,而sizeof(b)的值是__。
答案:4 struct{int day;char month;int year;}a,*b;10.若有static char c[10] = “China”;执行该语句后c[1]= ___________ 。
答案:h c[5]= ___________ 。
答案:\0c[6]= ___________ 。
答案:\0 strlen(c)= ___________ 。
答案:511.若有Static char c[s]={’a’,’b’,’\0’(零),‘c’,‘d’};printf(“%s\n”,c):则输出内容为:___________ 。
答案:ab12.下面程序把从终端读人的10个整数以二进制方式写到一个名为bi.dat的新文件中。
c语言练习1
练习1一、选择题1、一个C程序是由(B)。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成2、一个C程序的执行是从( A )。
A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束3、C语言语句的结束符是(B)。
A.回车符B.分号C.句号D.逗号4、下面标识符中( D )不是C语言的关键字。
A.char B.goto C.case D.include5、以下说法正确的是(A)A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
B.C程序的注释只能是一行。
C.C程序的注释不能是中文文字信息。
D.C程序的注释中存在的错误会被编译器检查出来。
6、以下说法正确的是(D)A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写。
7、设x、y均为float型变量,则以下不合法的赋值语句是(B)A.++x ; B.y=(x%2)/10 ; C.x*=y+8; D.x=y=0 ;解析:运算符%要求两端的操作数必须为整型,而在答案B中%号两端的操作数为x和2,x为实型,所以是错误的。
8、下列不正确的转义字符是(C)A.' \\ ' B.' \' ' C.' \19 ' D.' \0 '解析:转义字符是由单引号括起来的带反斜线的字符,这些字符具有特殊的含义,反斜线后可以是数字来代表某个字符,而这些数字只包括两种:八进制(1-3位)和十六进制(1-2位)。
十六进制前面要加x(或X),这里的C答案反斜线后是数字,但不是x开头,所以应该是八进制数,但是数值里有9,和八进制数不符,所以是错误的。
C语言程序设计练习题(含程序及参考答案)1
C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。
#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。
C语言习题(1)
C语言概述、数据类型运算符表达式、顺序结构一、选择题1.下列叙述中,正确的是。
A.C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严谨,要求一行内只能写一个语句C. C程序的书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2.下列选项中,可作为合法标识符的是。
A.1mB. DataC. str+1D. i-1 3.设变量已正确定义并赋值,以下合法的C语言赋值语句是。
A.x=y==5B. x=n%2.5C. x+n=iD. x=5=4+1 4.设有定义:int k=0;以下选项的4个表达式中与其他3个表达式的值不相同的是。
A.k++B. k+=1C. ++kD. k+1 5.若有定义:int a,b;则用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是。
A.,B. 空格C. 回车D. Tab键6.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是。
A.任何不同数据类型都不可以通用B. 有些不同类型的变量可以在同一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义7.下列常数中不能作为C语言的常量的是。
A.0Xa6B. 3.4e-3C. 3e5D. 0683 8.下面不是C语句的是。
A.int;B. ;C. a=1,b=5D. {;} 9.设x、y、z为整型变量,若从键盘给x、y、z输入数据,则正确的输入语句是。
A.scanf(“%d%d%d”,&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); 10.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是。
c练习题(1)
1.下面是一个加法程序,程序运行时等待拥护从键盘输入两整数,然后求出它们的和并输出之。
观察运行结果(程序输出),上机验证该程序。
#include <stdio.h>void main(){int a,b,c;printf(“Please input a,b;”);scanf(“%d,%d”,&a,&b);c=a+b;printf(“%d+%d=%d\n”,a,b,c);}2.下面的程序用来求三个数的平均值,上机验证该程序。
main(){float a,b,c,average;printf(“Please input a b c:”);scanf(“%f%f%f”,&a,&b,&c);average=(a+b+c)/3;printf(“The average value is :%f\n”,average);}练习题C语言基本语法知识一、选择题(1)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(3)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(4)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=kB)-k++C)k%int(f) D)k>=f>=m(5)有以下程序段int k=0,a=1,b=2,c=3; k=ac ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)0(6)以下选项中可作为C语言合法常量的是A)-80.B)-080C)-8e1.0D)-80.0e(7).以下不能定义为用户标识符的是A)MainB)_0C)_intD)sizeof(8)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e09)有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); 12 35 m=13 printf("%d%d\n",n++,++m); 35 14}程序运行后的输出结果是A)12353514 B)12353513C)12343514 D)12343513(10)有以下程序main(){int m=3,n=4,x;x=-m++; x= 3 m =4x=x+8/++n; x= 3+8/4= 5printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(11)以下符合C语言语法的实型常量是A) 1.2E0.5B) 3.14.159EC) .5E-3D) E15(12) 若以下选项中的变量已正确定义,则正确的赋值语句是A) x1=26.8%3B) 1+2=x2C) x3=0x12D) x4=1+2=3;(13) 设有以下定义int a=0;double b=1.25;char c=‟A‟;#define d 2则下面语句中错误的是A) a++; B) b++ C) c++; D) d++;实验二整型、浮点型、字符型数据使用1.编程序,输出如下图形:*********************#include <stdio.h>int main(){int i;int j;for(i=1;i<=5;i++){for(j = 1;j<=i;j++){printf("*");}printf("\n");}}2.编写程序,实现下面的输出格式和结果:a= 5,b= 7,a-b=-2,a/b= 71%c1=COMPUTER,c2=COMP ,c3= COMPx=31.19,y= -31.2,z=31.1900s=3.11900e+001,t= -3.12e+001#include <stdio.h>int main(){int a = 5;int b = 7;printf("%d\n",a-b);printf("%2.0f%%\n",(float)a/b*100);char c1[] = "COMPUTER",c2[]="COMP",c3[]="COMP";printf("%s %s %s\n",c1,c2,c3);float x = 31.19,y=-31.2,z=31.1900;printf("%5.2f %4.1f %7.4f",x,y,z);}3.编写程序,输入变量x值,输出变量y的值,并分析输出结果。
《C语言程序设计》综合练习试卷(一)
《C语言程序设计》综合练习试卷(一)试题一判断题 (每题1分,共10 分)(用T表示正确、F表示不正确) 1.C的任何类型数据在计算机内部都是以二进制形式存储的。
2.按格式符“%d”输出float类型变量时,截断小数位后取整输出。
3.字符数组中字符串可以整体输入输出。
4.传值调用的形参只有在被调用时,才被创建(分配存储单元)。
5.C语言中数组名是指针常量。
6.结构体类型中的各成员项数据类型可以不相同。
7.函数必须有返回值,否则不能使用函数。
8.C程序执行总是从第一个函数开始。
9.可以用关系运算符对字符串进行大小比较。
10.For循环只能用于循环次数已确定的场合。
试题二单选题(每题1分共15分)从A)、B)、C)、D)四个选项中,选出正确的一项。
1.以下程序运行后,输出结果是#include"stdio.h"void main( ){ char s[10]="abcde",*p;p=s+2;printf("%s \n",p);}A) cde B)字符c的ASCII码值 C)字符c的地址 D)出错2.对下面函数f,写出f(f(3))的值。
int f(int x){ static int k=0;x+=k--;return x;}A) 5 B) 3 C) 2 D) 43.以下程序运行后,输出结果是#define PT 5#define S(x) PT*x#include"stdio.h"void main( ){ int a=1,b=2;printf ("%d\n",S(a+b));}A) 15 B) 7 C) 8 D) 无正确答案4. 若有 float a[3][4]; 正确的引用第3行第1列的元素是A) **(a+2) B) *(*a+2) C) a[3][1] D) a[3][0]printf("%.1f,%d\n",10./4,10/8);的输出是A) 2.5, 1.25 B) 2.5, 1 CA) int a[ ]; B)int n=5,a[n];C) int n, a[n]={1,2,3,4,5}; D) int a[10/2];7.若有定义:struct person { char name[9]; int age; } ;person st[10]={{"john",17},{"paul",19},{"Mary",18}};能输出字母M的语句是A) printf("%c",st[2].name);B) printf("%c",st[3].name[1]);C) printf("%c",st[2].name[1]);D) printf("%c",st[2].name[0]);8.不能把字符串:“Hello!”赋给数组b的语句是A) char b[10]={'H','e','l','l','o','!','\0'};B) char b[10];b="Hello!";C) char b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";9.若有 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+510. 已知:int *p,m=5, n; 正确的程序段是A) p=&n; scanf(" %d",&p); B) p=&n; scanf(" %d", *p);C) scanf("%d",&n); *p=n; D) p=&n; *p=m;11. 下面程序的运行结果是:#include"stdio.h"void main( ){ int x[4]={ 2,4,6,8},*p, **pp;p=x;pp=&p;printf("%d",*p);printf("%3d",**pp);}A) 4 4 B) 2 4 C) 2 2 D) 4 612.下面程序执行后a的值是#include"stdio.h"void main( ){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1!=&m;printf("%d\n",a);}A)4 B)1 C)0 D)运行时出错,a无定值13.下列语句序列中,能够将变量u、s中最大值赋给变量t的是A) if (u>s) t=u; t=s; B) t=s; if (u>s) t=u;C) if (u>s) t=s; else t=u; D) t=u; if (u>s) t=s;14. 若有 int a=7,b=12;则语句printf("%d",a&b);输出结果A) 19 B) 9 C) 5 D) 415.若有 FILE *fp; 以“只读”方式打开文本文件a:\aa.dat,下列语句中正确的是A) fp=fopen("a:\aa.dat","w");B) fp=fopen("a:\aa.dat","r");C) fp=fopen("a:\\aa.dat","w");D) fp=fopen("a:\\aa.dat","r");试题三阅读程序题( 每题4分,共24分)写出读下列程序的输出结果1. #include<stdio.h>void main(){ char ch;for(ch='a';ch<'f'; ch++){ putchar(ch-32);putchar(ch);}}2. #include"stdio.h"void main(){ int i;for( i=1;i<=4;i++){ if ((i%3)==0) { printf("$"); continue;} else printf("*");printf("#");}}3. #include "stdio.h"void main(){ int i;for(i=1;i<5;i++)switch(i%5){ case 5: printf(" 5");case 3: printf(" 3");case 1: printf(" 1");default: printf("%2d",i);}}4. #include"stdio.h"void main(){ int x[10];int t,i,j,m=1;for(i=0;i<10;i++){ m=-m;x[i]=m*i;}for(i=1;i<10;i++){ t=x[i];for(j=i-1; j>=0; j--)if(t>x[j]) break;else x[j+1]=x[j];x[j+1]=t;}for(i=0;i<10;i++) printf("%3d",x[i]);}5. #include<stdio.h>void main(){ void swap1(int x ,int y );void swap2(int *x,int *y);void swap3(int &x,int &y);int a1,b1,a2,b2,a3,b3;a1=a2=a3=10;b1=b2=b3=5;swap1(a1,b1);swap2(&a2,&b2);swap3(a3,b3);printf("a1=%d b1=%d\n",a1,b1);printf("a2=%d b2=%d\n",a2,b2);printf("a3=%d b3=%d\n",a3,b3);}void swap1(int x,int y){ int t;t=x;x=y;y=t; }void swap2(int *x,int *y){ int t;t=*x; *x=*y; *y=t; }void swap3(int &x,int &y){ int t;t=x; x=y; y=t; }6.struct node{int num;node *next;};int fun( node *h){ int s,n=0,i;node *p=h ;while(p!=NULL){ for(s=0,i=1;i<p->num;i++)if ((p->num)%i==0) s+=i;if (s==p->num) n++;p=p->next;}return n;}写出执行语句“printf(“%d\n”,fun(head));”的输出结果。
C语言习题集(平时练习含答案)1
C语言习题集第一章C语言概述复习要点:1. 程序的构成,main函数和其他函数。
2.语句,注释3.运行C程序的步骤和方法习题:1.C程序是由函数构成的,一个C程序中至少包含一个main函数。
2.函数是C程序的基本单位。
(最小单位是表达式)3.C程序有且只有一个main函数。
4.C程序从main函数开始执行。
5.C程序注释符是由/*和*/组成,且不能嵌套使用。
6.C程序的语句是以; 结束。
7.C程序一条语句可分多行写,需要以为连接符。
(可以直接换行)8.C程序可以用{ 和} 将多条语句括起来,形成复合语句。
9.上机运行一个C程序必须经过源代码输入,编译,连接,运行4个步骤。
10.C程序的源文件扩展名是。
c 。
11.以下叙述中正确的是(C)A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,main必须小写,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数12.以下叙述中错误的是(D)A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令13.以下不是语句的是(A)A) a=10 B)a=b+c;c=20;C) ; D){a=b;b++;}14.运行以下程序main(){int a=10; /* 定义一个变量 aa=20; */printf(“%d”,A); 此程序应该改写为:printf(“%d”,a)}输出的结果是 B 。
A) 10 B)2015.牢记VC++6.0的出错提示英文提示中文实际意义missing ; , ( { 等表示缺少;,( {'T' : undeclared identifier T没有定义(T要先定义然后才能使用)'sqrt' undefined; sqrt如果是函数名则表示它的头文件没有包含'T' : redefinition T重复定义(可能是多次定义了T)Cannot open include file 头文件的拼写或路径的不对第二章数据类型,运算符与表达式复习要点:1. C的数据类型(整型,字符型,浮点型)及其定义方法。
C语言课程习题
C语言综合练习题(一)一选择题(7分,每小题0.5分)1.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是()。
A 552B 144C 264D -2642.下列标识符中,不能作为合法的C用户定义标识符的是()。
A a3_b3B voidC _123D IF3.下列整数值中,不正确的八进制或十六进制数值常量是()。
A 0xcdB -017C -ox123D 0xfdc4.若给定条件表达式(M)?(a++):(a--),则其中表达式M和()等价。
A M==0B M=1C M!=1D M!=05.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。
A 只能是逻辑表达式 B只能是关系表达式C 只能是逻辑表达式或关系表达式 D可以是任意表达式6.以下程序的输出结果为()。
main( ){ char c;int i;for(i=65;i<68;i++){ c=i+32;switch(c){ case ‘a’:printf("%c,",c);break;case ‘b’:case ‘e’:printf("ok,");default: printf("end");}} }A a,ok,endB a,ok,endendC a,ok,end,endD a,ok,ok7.数组名作为实参数传递给函数时,数组名被处理为()。
A 该数组的长度B 该数组的元素个数C 该数组的首地址D 该数组中各元素的值8.关于return语句,下列正确的说法是()。
A 可以在同一函数中出现多次B 在主函数中不能出现C 必须在每个函数中出现D 只能在除主函数之外的函数中出现一次9.以下程序的输出结果为()。
#define A 3#define B(a) (A+1)*amain(){ int x;x=3*A+B(7);printf("x=%d\n",x);}A x=93B x=37C x=60D x=9010.设有以下定义,则以下对变量w的赋值()是错误的。
C语言作业1(基本运算)
C语言
练习题一
1.请将下面的十进制数转换成二进制,八进制和十六进制;
(1)10 (2)32 (3)75 (4)658 (5)88
将下面非十进制数据转换为二进制数
(1)127O (2)31AH (3)1010111B (4) 52O
2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是
A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2
13.有以下程序
#include <stdio.h&g0;
C=(A-=A-5);(A=B,B+=4);
Printf(“%d, %d, %d\n”,A,B,C)
8.下列语句中符合C语言语法的赋值语句是______。
A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5;
9. 若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是________。
#include <stdio.h>
main()
{
int i,j,m;
i=8;
j=10;
printf("%d,%d,%d",i,j,m);
}
20.写出下面程序的结果;
#include <stdio.h>
main()
{
float i;
int m;
C)通过编译得到的二进制目标程序需要连接才可以运行
c语言期末考试练习题1(含答案)
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
c语言练习 (1)
A、当y<0时整个循环结束
B、y>=0时什么也不输出
C、printf函数永远也不执行
D、最多允许输出100个非负整数 76、以下程序段等价于____ for (k=100; k<=200; k++) { if (k%3==0) continue; printf("%4d", k); } A、for (k=100; (k%3)&&k<=200; k++) printf("%4d", k); B、for (k=100; (k%3)||k<=200; k++) printf("%4d", k); C、for (k=100; k<=200; k++) if (k%3!=0) printf("%4d", k); D、for (k=100; k<=200; k++) { if (k%3) printf("%4d", k); else continue; break; }
C、2 3 4 6 9 12
D、2 3 4
6 9 12
10 15 20
70、以下程序段中是死循环的是____
A、int n=1; B、int n=1;
while (!n)
do { n--;
n++;
}while(n);
C、int n=1;
D、for (n=5; n<1; ) ;
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号 括起来 64、语句for (表达式1; ; 表达式3)等价于____ A、for (表达式1; 0 ; 表达式3) B、for (表达式1; 1 ; 表达式3) C、for (表达式1; 表达式1; 表达式3) D、for (表达式1; 表达式3; 表达式3) 65、若k为整型变量,则以下for循环的执行次数是____ for (k=2; k==0; )
C语言复习题 (1)
A. a/b/c*e*3
B. 3*a*e/b/c
C. 3*a*e/b*c
D. a*e/c/b*3
10. 在 C 语言中,要求运算数必须是整型的运算符是( )。
A. /
B. ++
C. !=
D. %
11. 若 x、i、j 和 k 都是 int 型变量,则执行下面表达式后 x 的值为( )。
x=(i=4,j=16,k=32)
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A. 1020AB<回车>
B. 10 20<回车>AB<回车>
C. 10 20 AB<回车>
D. 10 20AB<回车>
21. 有输入语句:scanf(“%d%d%d”,&a,&b,&c);为使变量 a 的值为 1,b 为 3,
44. 以下程序的输出结果是( )。
main()
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
printf(“%d\n”,z);
}
A. 3
B. 2
C. 1
D. 0
45. 以下不正确的语句为( )。
A. if(x=y)&&(x!=0) x+=y;
B. if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y);
考试题型: 单项选择:1*40=40 分 填空题: 2*5=10 分 读程序:2*10=20 分 程序填空:2*10=20 分 编写程序:10 分(4+6)
C语言练习题1
1•编写程序,要求用户输入一个三角形的三边边长分别为的面积。
海伦公式:S p(p-a)(p-b)(p -c) #in clude<stdio.h>#in clude<math.h>a +b +c p 2void mai n(){float a,b,c,p,s;printf(” 请输入三边a,b,c:");sca nf("%f %f %f", &a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));prin tf("%f,%f\n",p,s);}2•三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。
现在他们三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?#in clude<stdio.h> void mai n(){int a=50,b=43,c=13;a=a/3;b=a+b;b=b/3;c=a+b+c;a=a+b;c=c/3;b=b+c;a=a+c;prin tf("%d,%d,%d\n",a,b,c);}3. 编写程序,要求用户输入某年年份,然后判断是否为闰年。
(闰年的条件是:该年的年号能被4整除且不能被100整除,或该年的年号能被400整除,则该年是闰年,否则不是闰年。
) #in clude<stdio.h>void mai n(){int year;printf("请输入年份");sca nf("%d", &year);if(year%4==0&&year%100!=0||year%400==0){printf("闰年\n");else{printf(" 平年\n");}}a,b,c,利用海伦公式求三角形4. 编写程序,随机生成一个100 以内的整数。
c语言基础语法习题
C语言的语法基础练习题(一)选择题1.C语言基本类型包括( )A) 整型、实型、逻辑型B) 整型、实型、字符型、逻辑型C) 整型、字符型、逻辑型D) 整型、实型、字符型2.语言的字符型数据在内存中的存储形式是( )A)原码B)补码C) 反码D) ASCII码3.语言的整型数据在内存中的存储形式是( )A)原码B)补码C) 反码D) ASCII码4.sizeof(float)是。
A) 一个双精度型表达式B) 一个整型表达式C) 一种函数表达式D) 一个不合法的表达式5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为。
A) D B) 68 C) 不确定的值D) C6.以下叙述正确的是。
A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示7.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值8.下面正确的字符常量是。
A) “c”B) ‘\\’’C) ‘’D) ‘K’9.下列四组选项中,均是合法转义字符的选项是。
A) ‘\”’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘xlf’10.下列四组选项中,均是不合法的用户标识符的选项是。
A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP11.下列四组选项中,均不是C语言关键字的选项是。
C语言习题(1~4)
习题第一章一.选择题1.C语言的主要特点有哪些(B C D E)(多选)A.简洁、紧凑,使用方便、灵活,易于学习和应用。
B.C语言是结构化程序设计语言。
C.C语言允许直接对位、字节和地址进行操作。
D.数据类型丰富。
E.C语言生成的目标代码质量高。
2.算法具有五个特性,以下选项中不属于算法特性的是(B)。
A.有穷性B.简洁性C.可行性D.确定性3.C语言程序由什么组成(C)。
A.子程序B.主程序和子程序C.函数D.过程4.源程序要正确地运行,必须要有什么函数(C)。
A.printf函数B.自定义的函数C.main函数D.不需要函数5.以下说法中正确的是(C)。
A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分6.一个C程序的执行是从(A)。
A.本程序的main函数开始,到main()函数的结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C.本程序文件的main开始,到本程序文件的最后一个函数的结束D.本程序文件的第一个函数开始,到本程序文件的main函数的结束7.下叙述不正确的是(D)。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面8.C语言是一种面向(D)的程序设计语言。
A.对象B.窗口C.用户D.过程9.在使用Visual C++6.0进行编程时,下面哪种错误是它检查不出来的(B)。
A.编译错误B.逻辑错误C.语法错误D.连接错误10.下面哪个产品不能开发C程序(B)。
A.Turbo C2.0B.DOS2.0C.Visual C++6.0D.Microsoft C6.0二.填空题1.C语言的语句以;结尾。
2.C程序的基本组成单元是函数。
C语言练习题1
一、填空题(20分,每空1分)1.一个完整的C程序有且仅有一个函数。
2.在内存中存储一个字符…a‟占用______个字节,而存储字符串”abcdef”则占用________个字节。
3.表达式4/5的值为________。
4.设int x=9,y=8,z=7,w; w=x>y>z; 则w的值为_________。
5.设x=4.5,a=7,y=3.4, 表达式x+a%3*(int)(x+y)%2/4的值为_____。
6.设a=14, 执行a+=a-=a*=a 后,a=___________。
7.设x=y=z=6, 执行x=(y>z)?x+2:x-2; 后,x=__________。
8.getchar( )函数用于输入, 而gets( )函数则用于输入______________。
9.设有定义语句:char ww[20]=” \t\\wab\n”; 则表达式:strlen(ww) 的值是__________。
10.设有定义语句:char str[7]=”abcdef”, 则数组元素str[2]中的字符是______,数组元素str[6]中的字符是__________。
11.函数中的形参和调用时的实参都是变量时,传递方式为________;都是数组名时,传递方式为_________。
12.设有char *p=”12345”, 则printf(“%s”,p)的输出是;而printf(“%c”,*p)的输出则是_________。
13.设有以下说明,则变量qq在内存中所占的字节数是________,如果将关键字struct 改为union 则变量qq所占的字节数为________。
struct student{ char name[10];int nl;float ave;} qq;14.巳知当前目录下有一个名为file.txt的文本文件,写出将该文件打开(只允许写)的语句:FILE *fP;。
大学C语言期末考试练习题(带详解答案)(1)
计
A)\’
B)\0 C)\n
D)\\
D 基
本
6) 8) 设先有定义:int a=10;则表达式a+=a *=a的值为____.
数 据
A)10
B)100 C)1000
D)200
C 类
型 9) 设先有定义:int a=10;则表达式(++a)+(a- -)的值为____.
与
运 算
A)20
B)21 C)22
型
与
printf("x=%d,a=%d,b=%d\n",x,a,b);
运 算
}
符
返回目录
C
● 填空题
语
0 5.以下程序的执行结果是___________。
言 程
#include<stdio.h>
序
main( )
设 计
{
基
float f1,f2,f3,f4;
D)19
符
返回目录
C
● 单项选择题
10) 设先有定义:int y=3,x=3,z=1;则语句:
语 言
D printf(“%d %d\n”,(++x,y++),z+2); 的输出结果为____.
程 序
A)3 4
B)4 2 C)4 3
D)3 3
设
计 11)假定x、y、z、m均为int型变量,有如下程序段:
● 单项选择题
C
3) 某C程序由一个主函数main( )和一个自定义函数max( )组
语
D 成,则该程序 ____.
言
A)总是从max( )函数开始执行
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.编写程序,要求用户输入一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。
海伦公式:#include<stdio.h> #include<math.h>void main(){float a,b,c,p,s;printf("请输入三边a,b,c:");scanf("%f %f %f",&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("%f,%f\n",p,s);}2.三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。
现在他们三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?#include<stdio.h>void main(){int a=50,b=43,c=13;a=a/3;b=a+b;b=b/3;c=a+b+c;a=a+b;c=c/3;b=b+c;a=a+c;printf("%d,%d,%d\n",a,b,c);}3.编写程序,要求用户输入某年年份,然后判断是否为闰年。
(闰年的条件是:该年的年号能被4整除且不能被100整除,或该年的年号能被400整除,则该年是闰年,否则不是闰年。
)#include<stdio.h>void main(){int year;printf("请输入年份");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0){printf("闰年\n");}2c b a p ++=))()((c p b p a p p S ---=else{printf("平年\n");}}4.编写程序,随机生成一个100以内的整数。
#include<stdio.h>#include<stdlib.h>#include<time.h>void main(){int i;srand(time(NULL));i=rand()%100;printf("%d\n",i);}5.编写一个程序,用户输入某年某月,求该月的天数。
#include<stdio.h>void main(){int year,month,n;printf("请输入年份月份:");scanf("%d %d",&year,&month);if(year%4==0&&year%100!=0||year%400==0){if(month==2){n=29;}}else{if(month==2){n=28;}}switch(month){case 2:break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:n=31;break;case 4:case 6:case 9:case 11:n=30;break;default:printf("输入错误请重输:");}printf("%d\n",n);}6.求分段函数的值。
0 (x<0)F(x)=2X+1 (x>=0)#include<stdio.h>void main(){float x,f;printf("请输入x:");scanf("%f",&x);if(x<0){f=0;}else{f=2*x+1;}printf("%f\n",f);}7.已知函数x + 3 ( x > 0 )y= 0 ( x = 0 )x*x –1 ( x < 0 ) #include<stdio.h>void main(){float y,x;printf("请输入x:");scanf("%f",&x);if(x>0){y=x+3;}else{if(x=0){y=0;}else{y=x*x-1;}}printf("%f\n",y);}编程输入x的值,输出y的值。
8.编写程序,计算邮局汇款的汇费。
如果汇款金额小于100元,汇费为1元;如果汇费在100元与5000元之间,按1%收取汇费;如果金额大于5000元,汇费为50元。
汇款金额由命令行输入。
#include<stdio.h>void main(){float a,w;printf("请输入汇款金额:");scanf("%f",&a);if (a<100){w=1;}else{if(a<5000){w=a*1/100;}else{w=50;}printf("%f\n",w);}9.计算1-2+3-4+5……+99-100的值#include<stdio.h>void main(){int i,f=1,sum=0;for(i=1;i<101;i++){sum=sum+i*f;f=f*(-1);}printf("%d\n",sum);}10.打印100以内所有能被3整除的数,每5个换一行。
#include<stdio.h>void main(){int i,n=0;for(i=1;i<=100;i++){if(i%3==0){printf("%d ",i);n++;}if(n%5==0){printf("\n");}}}11.计算1+1/2+1/3+……+1/100的值#include<stdio.h>void main(){float i,sum=0;for(i=1;i<=100;i++){sum=sum+1/i;printf("%f\n",sum);}12.编写一个程序,用户输入一个整数,判断该数是否是素数。
#include<stdio.h>void main(){int n,i,f;scanf("%d",&n);for(i=2;i<=n/2;i++){f=1;if(n%i==0){f=0;break;}}if(f==0){printf("%d不是素数",n);}else{printf("%d是素数",n);}}13.编写一个程序,打印出100以内所有的素数,每5个换一行。
#include<stdio.h>void main(){int i,j,f,n=0;for(i=2;i<=100;i++){f=1;for(j=2;j<=i/2;j++){if(i%j==0){f=0;break;}}if(f==1){printf("%d ",i);n++;}if(n%5==0){printf("\n");}}}14.一个运输公司对用户计算运费公式:总运费=单价*重量*距离*(1-折扣)。
单价为每吨每公里为1元。
路程(s)越远,每公里运费折扣越高,公式如下:s<250km 没有折扣250=<s<500 2%折扣500=<s<1000 5%折扣1000=<s<2000 8%折扣2000=<s<3000 10%折扣3000=<s 15%折编写一个程序,完成以下功能:当运输公司输入货物的吨数和公里数,就能计算出这次运单的运费。
15.编写一个程序,获取系统的当前时间(取整点),若时间为5、6、7、8点,则显示“早上好”;若时间为9、10、11点,则显示“上午好”;若时间为12、13点,则显示“中午好”;若时间为14、15、16、17、18点,则显示“下午好”;若时间为19、20、21、22、23、24、1、2、3、4点,则显示“晚上好”。
#include<stdio.h>#include<time.h>#include<stdlib.h>void main(){time_t t;t=time(NULL);struct tm *tt;tt=localtime(&t);switch(tt->tm_hour){case 5:case 6:case 7:case 8:printf("早上好\n");break;case 9:case 10:case 11:printf("上午好\n");break;case 12:case 13:printf("中午好\n");break;case 14:case 15:case 16:case 17:case 18:printf("下午好\n");break;default:printf("晚上好\n");}}16.所谓水仙花数是指一个三位正整数,它各位数字的立方之和等于此正整数。
例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
试编写一个程序,判断用户输入的一个三位正整数是否是水仙花数。
#include<stdio.h>void main(){int a,b,c,n;printf("请输入一个三位数n:");scanf("%d",&n);a=n/100;b=n%100/10;c=n%100%10;if(n==a*a*a+b*b*b+c*c*c){printf("%d是水仙花数\n",n);}else{printf("%d不是水仙花数\n",n);}}17.所谓水仙花数是指一个三位正整数,它各位数字的立方之和等于此正整数。
例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
试编写一个程序,求出所有的水仙花数。
#include<stdio.h>void main(){int i;int a,b,c;for(i=100;i<1000;i++){a=i/100;b=i%100/10;c=i%100%10;if(i==a*a*a+b*b*b+c*c*c){printf("%d\n",i);}}}18求200以内的所有素数的和。