C语言综合练习
C语言综合练习题
《C语言程序设计》综合练习题一、单项选择题1.下列( D )是字符串比较函数。
A. puts()B.gets()C. strcpy ()D. strcmp()2.构成一个完整的C源程序必须有且只有一个( C )。
A. 函数B.过程C. 主函数D. 程序3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。
A. 1B. 2C. 63D. 04.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。
设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。
A.int B.char C.unsigned D.long 5.下列(D)不是构成标识符的字符。
A.字母B.数字C.下划线D.标点符号6.表达式:3>5&&-1||6<3-!-1的值是( A )。
A. 0B.1C. 表达是不合法D. 均不对7. 以下标识符中能做为合法的C用户标识符的是(D)。
A.A3+B3B. floatC. 3dxD. x3d8. 以下数据中不正确的数值或字符常量是(B)。
A. 0.0B. 3E2.7C. 9861D. 0xabcd9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A)。
A. 只读打开文件B. 只写打开文件C. 追加打开文件D. 读写打开文件10.表示关系x<=y<=z的C语言表达式为(A)A. (x<=y)&&(y<=z)B. (x<=y)and(y<=z)C. (x<=y)&(y<=z)D. (x<=y<=z)11.如果要把常量327存入变量a中,a不能定义的类型是(B)。
C语言综合习题及答案
C语言练习题一、选择题1.一个完整的C源程序是【B】。
A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2.以下关于函数的叙述中正确的是【C】。
A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3.以下关于函数的叙述中不正确的是【B】。
A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4.在一个C程序中,【B】。
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5.C程序的执行是从【A】开始的。
A)主函数B)子函数C)从程序第一行D)printf()函数6.以下选项中不合法的标识符是【C】A)printB)FORC)&aD)_007.以下选项中可作为C语言合法常量的是【A】A)-80 B)-080 C)-8e1.0 D)-80.0e8.以下选项中不属于字符常量的是【B】A)′C′B)"C"C)′\xCC′D)′\072′9.若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】A)float B)longC)int D)double10.以下关于函数叙述中,错误的是【D】。
A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式11.C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【D】。
计算机c语言综合试题及答案
计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
C综合练习- 3 附参考答案
《C综合练习 3 --- 函数与指针》一、选择题1. 程序中调用了库函数strcmp,必须包含头文件()。
若是调用库函数gets呢?A、math.hB、string.hC、ctype.hD、stdio.h2.数组声明为“int y[4][3];”,表达式“*(y+2)+2-*y”的值为()。
A. 10B. 20C. 16D. 83.指针变量p1、p2类型相同,要使p1、p2指向同一变量,哪一个语句是正确的( )。
A、p2=*&p1;B、p2=**p1;C、p2=&p1;D、p2=*p1;4.数组定义为“int a[4][5];”,下列哪一个引用是错误的( )。
A、*aB、*(*(a+2)+3)C、&a[2][3]D、++a5.表达式“c=*p++”的执行过程是()。
A、复制*p的值给c后再执行p++B、复制*p的值给c后再执行*p++C、复制p的值给c后再执行p++D、执行p++后将*p的值复制给c6.函数strcmp("Int","int"))的返回值为。
A、0B、-32C、"intInt"D、"Intint"7.函数f定义如下,执行语句“sum=f(5)+f(3);”后,sum的值应为。
int f(int m){ static int i=0; int s=0;for(; i<=m; i++) s+=i;return s;}A、21B、16C、15D、88.下列语句定义x为指向int类型变量a的指针,其中哪一个是正确的。
A、int a,*x=a;B、int a,*x=&a;C、int *x=&a,a;D、int a,x=a; 9.声明语句为“int a[3][4];”,下列表达式中与数组元素a[2][1]等价的是。
A、*(a[2]+1)B、a[9]C、*(a[1]+2)D、*(*(a+2))+1 10.对于以下递归函数f,调用f (2) 的返回值是。
c语言复习综合练习题
一选择题(24分,每小题2分)1.C程序的执行是从一个A.本程序的main函数开始的,到main函数结束B.本程序文件的第一个函数开始,到本文件最后一个函数结束C.本程序main函数开始,到本程序最后一个函数结束D.本程序第一个函数开始,到本程序main函数结束2.以下程序的输出结果为()。
main( ){ int i=010,j=10;printf("%d,%d\n",i++,j--);}A 11,9B 9,10C 8,10D 9,93.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,6.666666,31,20D 125.534,6.666666,2,204.设i和k都是int类型,则for循环语句()。
for(i=0,k=-1;k=1;i++,k++) printf("****\n");A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.C语言规定:在一个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后6.函数调用语句:fseek(fp,-10L,2);的含义是()。
A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7.以下程序的输出结果为()。
main( ){ char s1[40]="country",s2[20]="side";int i=0,j=0;while(s1[i]!='\0') i++;while(s2[j]!='\0') s1[i++]=s2[j++];s1[i]=0;printf("%s\n",s1);}A sideB countryC sidetryD countryside8.下列说法不正确的是()。
《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语言综合练习
C语⾔综合练习C语⾔单元练习题第⼀单元数据类型、表达式及顺序结构练习题⼀、选择题:1、不合法的C语⾔整型常量是 D 。
A. –012B. 0x35C. 123LD. 8E22、不合法的C语⾔实型常量是 B 。
A. E3B. .123C. –6.2E4D. 5.03、不合法的C字符常量是。
A. ′2′B. ′\101′C. ′AB′D. ′\n′4、下列四组选项中,均是不合法的⽤户标识符的选项是。
A. W P_0 doB. b-agoto intC. float la0 _AD. -123 abcTEMP5、定义三个变量a、b、c,并分别赋初值为5。
能实现该功能的语句是。
A. int a=b=c=5;B. int a,b,c=5;C. intA. floatB. charC. intD. double7、以下选项中不能⽤作C程序合法常量的是()。
A. 1.234B. '123'C.123D."\x7G"8、以下选项中可⽤作C程序合法实数的是()A. .1e0B.3.0e0.2C.E9D.9.12E9、下列标识符中,不合法的⽤户标识符为()。
A. PadB. CHARC. a_10D. a≠b10、以下选项中能表⽰合法常量的是()。
A.整数:1,200B.实数:1.5E2.0C.字符斜杠:‘\’ D.字符串:"\007"11、以下选项中,能⽤作数据常量的是()。
A.o115B. 0118C.1.5e1.5D. 115L12、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()。
A.1B.0C.213、若有定义语句:int x=10;,则表达式x-=x+x 的值为()A.-20B.-10C.0D.1014、表达式:(int)((double)9/2)-(9)%2的值是()。
A.0B.3C.4D.515.int x=5, y=14;则表达式x+7/y+0.6 值为()。
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程序从( D )开始执行。
(A) 程序中的第一条语句(B) 程序中的第一条可执行语句(C) 程序中的第一个函数(D) 程序中的main函数2. 下列各项中,不是C语言的特点是( )。
(A) 语言简洁、紧凑,使用方便(B) 数据类型丰富,可移植性好(C) 能实现汇编语言的大部分功能(D) 有较强的网络操作功能3. 下列叙述错误的是( B )。
(A) C程序中的每条语句都用一个分号作为结束符(B) C程序中的每条命令都用一个分号作为结束符(C) C程序中的变量必须先定义,后使用(D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写4. 算法中对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( B )。
(A) 正当性 (B) 确定性 (C) 可行性 (D) 确定性习题二一、选择题1. 整型变量的类型说明符是( B )。
(A) short (B) int (C) long (D) float2. 单精度型变量的类型说明符是( C )。
(A) int (B) long (C) float (D) double3. 下列叙述正确的是( D )。
(A) 标识符由字母、数字或下划线组成,必须以字母或下划线开头(B) 标识符由字母、数字或下划线组成,必须以字母或数字开头(C) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,可以含有空格(D) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,并且不含空格4. 下列式子中,是字符型常量的是( A )。
(A) 'a' (B) "a" (C) 'ab' (D) "ab"5. 下列式子中,可以作为C语言标识符的是( C )。
(A) array-1 (B) 234abc (C) array_1 (D) if6. 下列语句正确的是( B )。
C语言综合练习1
C语言综合练习一、选择题1、运算符有优先级,在C语言中关于运算符优先级的正确叙述是。
A) 逻辑运算符高于算术运算符,算术运算符高于关系运算符B) 算术运算符高于关系运算符,关系运算符高于逻辑运算符C) 算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D) 关系运算符高于逻辑运算符,逻辑运算符高于算术运算符2、在以下关于C语言的不严格的叙述中,错误的是A)大写字母和小写字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义3、C语言中的简单数据类型包括。
•A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型4、在C语言中,错误的int类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF5、下列常数中不能作为C的常量的是。
A) 0xA5 B) 2.5e-2 C) 3e2 D) 05826、在C语言中,十进制的47可等价地写为。
A) 2f B) 02f C) 57 D) 0577、已知:int a=4,b=5,c;则执行表达式“c=a=a>b”后变量a的值为。
A) 0 B) 1 C) 4 D) 58、下列可以正确表示字符型常数的是A) "a" B) ‟\t‟C) "\n" D) 2979、以下错误的转义字符是A) ‟\\‟B) ‟\‟‟C) ‟\81‟D) ‟\0‟10、已知:float x=1,y;则:y=++x*++x的结果是A) y=9 B) y=6 C) y=1 D) 表达式是错误的11、已知:char ch=‟A‟;则下列表达式的值是ch = (ch>=‟A‟&&ch<=‟Z‟) ? (ch+32) : ch;A) A B) a C) Z D) z12、若变量已正确定义并赋值,以下符合c语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b13、下列可用于c语言用户标识符的一组是A) void define WORD B) a3_B3 _123 CarC) For –abc IFCase D) 2a DO sizeof14、若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf(“***a=%d,b=%d,c=%d\n”,a,b,c):printf(“###a=%d,b=%d,c=%d\n”,a,b,c);程序的输出结果是:A) ***a=25,b=13,c=19 B) ***a=26,b=14,c=19C) ###a=25,b=13,c=19 D) ###a=26,b=14,c=1915、下列程序段的输出结果是:int a=1234; float b=123.456;double c=12345.54321;printf(“%2d,%2.1f,%2.1f”,a,b,c);A)无输出B) 12,123.5,12345.5C) 1234,123.5,12345.5 D) 1234,123.4,1234.516、有如下程序段:int a=14,b=15,x; char c=‘A’; x=(a&&b)&&(c<‘B’);执行该程序段后,x的值为: DA)true B) false C) 0 D)117、下列数据中,不合法的c语言实型数据的是: CA)0.123 B)123e3 C) 2.1e3.5 D)789.018、设变量a是int型,f是float型,i是double型,则表达式10+‟a‟+i*f值的数据类型为:DA) int B) float C) double D) 不确定19、设以下变量均为int类型,表达式的值不为7的是:CA) (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)20、若变量a是int类型,并执行了语句:a=…A‟+1.6;则正确的叙述是:DA) a的值是字符C B) a的值是浮点型C)不允许字符型和浮点型相加D) a的值是字符‟A‟的ASCII值加上1二、给出以下程序的运行结果1、main() { int a=0; a+=(a=8); printf(“%d\n”,a);}2、main() { double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf(“%d\n”,d*y) }3、main() { int a=5,b=4,c=3,d; d=(a>b>c); printf(“%d\n”,d); }4、main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf(“%d\n”,d); }}5、main() { int x=3,y=5; printf(“%d”,x=(x--) * (--y)); }6、#define f(x) x*xmain() { int i ; i=f(4+4)/f(2+2); printf(“%d\n”,i); }7、main() {int m=0256,n=256; printf(“%o%o\n”,m,n); }8、main(){int x=10,y=10; x--,++y;printf("%d,%d ",x,y);}三、数据描述如下int a=4,b=5;float x=65.789;char c1='A',c2='\375';则表达式运算结果:(1)a*100+b*10+2(2)c1*(a=x)(3)b/a+(int)(x+a)%c1(4)c1%c2(5)a+=a-=a%=a(6) (a*=b,a*2),a+6四、将下列数学公式用C 语言表达式描述(1) ,(2) 3243,R R ππ(3) )12(578,3),(2y x y x c b a b a --+++++ (4) x x x 12t a n )42c o s (3)5.0(s i n -++++五、执行如下程序,为使变量a=3,b=7,x=8.5, y=71.82, c1=…A‟,c2=…a‟,正确的输入方式:main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("x=%f y=%f",&x,&y);scanf("c1=%c c2=%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c, c2=%c", &a,&b,&x,&y,&c1,&c2);}六、程序设计(要求画出程序流程图)1、已知a=4.6,b=5,根据公式c=2a+b/5求出c 的值。
C语言综合练习题(新)
C语⾔综合练习题(新)1) 设x,y均为整型变量,且x=10 y=3,则以下C语⾔的输出结果是(d )。
printf(“%d,%d\n”,x--,--y);a)10,3b)9,3c)9,2d)10,22)在C语⾔中,要计算⼀个数(变量i)的开平⽅,下⾯代码正确的是( b )。
a)printf(sqrt(t), "\n Squareof%d",i)b)printf("\n Square of %dis %d",i,sqrt(i))c)printf(sqrt(i),i,t, "\n Sqrtof %d is %d")d)printf(i,t,"\n Square of%d")e)scanf(i,"\n Square of%dis %d",sqrt(i))3)运⾏下列C程序:#include <>void fun(int x,int y,int z){ z=x*x+y*y;}void main(){ int a=31;fun(5,2,a);printf(“%d”,a);}输出结果是( c )。
e)0 b)29 c)31 d)⽆定值4)在C语⾔中,下⾯选项( a d )是合法的变量名。
(选择两项)f)Minimum b)3rd_rowc)n1+n2; d)Doubles e)5)运⾏下⾯的C程序:#include <>void main(){ int n;s canf(“%d”,&n);if(n++<10)p rintf(“%d\n”,n);elsep rintf(“%d\n”,n--);}若从键盘上输⼊9,则输出结果是(b)。
g)11 b) 10 c)9 d)86)在C语⾔中,下列关于条件语句的描述中,正确的是( ac )。
(选择两项)a)当if语句嵌套使⽤的时候,最后⼀个else和最近的⼀个没有else匹配的if匹配b)⼀个if可以有多个else与之匹配c)⼀个switch语句总是可以被⼀系列if…else语句替换d)当执⾏break语句时程序将停⽌执⾏7)在C语⾔中,下⾯不正确的字符串常量是( a )。
C语言200道练习题及答案
一维数组
题目1
题目2
题目3
题目4
求一维数组中的最大值 和最小值。
将一维数组中的元素逆 序存放。
查找一维数组中指定的 元素,并返回其下标。
求一维数组中所有元素 的和。
二维数组
题目5
题目6
求二维数组中所有元素的最大值和最小值 。
将二维数组转置,即行列互换。
题目7
题目8
查找二维数组中指定的元素,并返回其位 置。
C语言200道练习题 及答案
汇报人:XX
目录
• 基础知识练习题 • 数组与字符串练习题 • 函数与模块化练习题 • 指针与内存管理练习题 • 数据结构与算法练习题 • 综合应用练习题
01
基础知识练习题
变量与数据类型
声明整型变量并赋值
int a = 10;
声明字符型变量并赋值
char c = 'A';
代码优化
通过减少不必要的计算、消 除冗余代码等方式对代码进 行优化。
并行计算与多线程
了解并行计算和多线程的基 本概念,探索在程序中应用 并行计算和多线程技术提高 性能的可能性。
THANKS
感谢观看
掌握如何使用malloc()、calloc() 等函数在堆区动态分配内存空间
。
动态内存释放函数
了解如何使用free()函数释放之前 分配的内存空间,以避免内存泄漏 。
内存分配失败处理
熟悉在动态内存分配过程中,如何 处理分配失败的情况,如检查返回 值是否为NULL等。
05
数据结构与算法练习题
结构体与联合体
01
掌握如何定义指向函数的指针变量,以及如何通过函数指针调
用函数。
C语言综合练习(附答案)
C语言综合练习(附答案)一、选择1.在C语言中运算对象必须是整型的运算符是A %B !C /D *2. 有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3);else if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果____________ 。
A)不等于10的整数 B)大于3且不等于10的整数C) 大于3或等于10的整数 D)小于3的整数3. 下列定义数组的语句中,正确的是__________。
A)int N=10;int x[N]; B)#define N 10int x[N];C) int x[0..10]; D) int x[];4. 以下程序运行后的输出结果是_______________。
#includemain(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,25. C语句x*=y+2;还可以写成A x=x*y+2;B x=2+y*x;C x=x*(y+2);D x=y+2*x;6. 以下程序运行后的输出结果是________________。
#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d\n”,b)}A)0 B)1 C)2 D)37. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。
A)int a[5]={0}; B)int b[] = {0,0,0,0,0};C) int c[2+3] ; D)int i=5,d[i];8. 设有float x;则x是____变量。
C语言综合训练(数组)
C语言综合练习3一、选择题1 . 在C语言中,以下选项中不能表示10 ×1000之值的是()A. 1.0E4.0B. 1.E4C. 10E3D. 1.0e42. 以下选项中,合法的C语言常量是()A. 21.84B. ‘CPP’C. ”\1.0D. 2MB3. 有以下程序:# include <stdio.h>mian ( ){ int x=010 , y=10;printf(“%d,%d\n”,++x,y--); }程序运行后的输出结果是()A.10 ,9 B . 11 ,10 C. 010 ,9 D. 9 ,104. 若有定义:int a ; float b; double c ; 程序运行输入:a=1,b=2,c=3 <回车>,能把1输入给变量a、值2输入给变量b、值3输入给变量C的输入语句是()。
A. scanf(“a=%d,b=%f,c=%lf”,&a,&b,&c);B. scanf(“%d%f%lf”,&a,&b,&c);C. scanf(“a=%d,b=%lf,c=%lf”,&a,&b,&c);D. scanf(“a=%d,b=%f,c=%f”,&a,&b,&c);5.有如下程序:# include <stdio.h>mian ( ){ int a=0,b=1;if ( a++ && b++ ) printf(“T”);else printf(“F”);printf(““a=%d,b=%d\n”,a,b); }程序结果的输入结果是()A. Ta=1,b=2B. Fa=0,b=2C. Fa=1,b=1D. Ta=0,b=16.以下不是合法c语言转义字符的是()A. ’\c’B. ’\a’C. ’\b’D. \r’7.以下能够实现计算5!的程序段是()。
fx0355《C语言程序设计》综合练习题适用于专升本:计算机科学与技术 (1)
《C语言程序设计》综合练习题一、单项选择题(共80题,每小题2分)(1)计算机语言不包括(C)。
A. 机器语言B. 汇编语言C. 智能语言D. 高级语言(2)C语言属于(D)。
A. 机器语言B. 汇编语言C. 智能语言D. 高级语言(3)printf语句的作用是(D)。
A. 写入文件B. 读入数据C. 记录数据D. 黑屏终端打印信息(4)下列关于C语言程序说法错误的是(A)。
A. main函数不是必须的B. 函数可以没有返回C. void表示函数没有返回值D. main函数是必须的(5)下列程序段的作用是(B)。
int a,b,sum;a=123;b=456;sum=a+b;A.对a、b初始化B. 实现123+456求和C.赋值D. 实现两数相减(6)printf语句中使用%d的作用是(C)。
A. 实现十进制输入B. 实现浮点数输出C. 实现十进制输出D. 无实际意义(7)下列不属于C关键字的是(C)。
A. whileB. forC. MapD. continue(8)下列变量命名合法的是(D)。
A. 123B. 9_qC. +1D. abc(9)下列关于C语言程序说法错误的是(A)。
A. 可以有多个main函数B. 程序由一个或多个源文件组成C. 程序应包含注释D. 程序可以没有输出(10)下列关于程序设计任务说法错误的是(A)。
A. 首先设计算法B. 其次设计算法C. 然后编写程序D. 最后编写文档(11)下列不属于算法的特征的是(C)。
A. 确定性B. 有穷形C. 二义性D. 可行性(12)下列说法正确的是(A)。
A. 算法+数据结构=程序B. 算法可以无限循环C. 算法只能用C语言实现D. 算法只能用Java语言实现(13)下列不属于算法的是(B)。
A. 成绩换算B. 打印字符串C. 求最小公倍数D. 求最大公约数(14)下列关于求1*2*…*5说法错误的是(D)。
A. 可以设计一个算法求解B. 可以使用wile循环C. 可以使用for循环D. 用循环解决效率不高(15)算法一般不可以用什么表示(C)。
C语言基础知识综合练习题
一、 C语言基本知识和基本语句(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。
A)‘a’&&’b’ B) a<=bC) a || b+c&&b-c D) ! ((a<b)&&! C|| 1)2.设ch是char型变量,其值为A字符,且有表达式:ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。
A)A B) a C) Z D) z3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf(“%d”,(x,y));则输出结果是()。
A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。
A)% B) / C) % 和/ D) **6.数学关系x≥y≥z ,它对应C语言表达式是()。
A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )C) (x>=y>=z) D) (x>=y) & (y>=z )7.以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。
C语言程序设计 期末综合练习题
C语言程序设计期末综合练习题C语言程序设计是计算机科学与技术专业中一门重要的课程,它具有广泛的应用领域和深远的影响。
本文将为大家介绍一系列C语言程序设计的期末综合练习题,帮助大家加深对C语言的理解和应用能力。
1. 编写一个程序,计算两个整数的和并输出结果。
```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;}```2. 编写一个程序,求一个整数数组的最大值和最小值,并输出结果。
```c#include <stdio.h>int main() {int arr[] = {12, 34, 56, 78, 90};int length = sizeof(arr) / sizeof(arr[0]);int max = arr[0];int min = arr[0];for (int i = 1; i < length; 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;}```3. 编写一个程序,实现将字符串逆序输出。
```c#include <stdio.h>#include <string.h>int main() {char str[] = "Hello, World!";int length = strlen(str);for (int i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```4. 编写一个程序,判断一个整数是否为质数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void main()
{
char grade;
float total;
printf("\n请输入员工的(A-D)级别:");
grade=getchar();
switch(grade)
{
case 'A':
total=BASEPAY+BASEPAY*45/100;
#include<stdio.h>
void main()
{
int num;
float total_cost=0,discount=0,pay=0;
printf("\n请输入购物数量与总金额:");
scanf("%d %f",&num,&total_cost);
if(num>=10 && total_cost>=10000)
default:
printf("\n输入错误!\n");
}
}
13.某公司员工工资包括底薪和奖金两部分,每个员工的底薪都是1000元,而奖金取决于员工的级别。
等级 奖金占底薪的百分比
A 45%
B 40%
C 30%
D 25%
根据员工的级别计算应付给员工的工资。
#include<stdio.h>
{
discount=total_cost*10/100;
pay=total_cost-discount;
printf("\n折扣额是:%.2f\n应付金额是:%.2f\n",discount,pay);
}
else
printf("\n不符合优惠要求!\n");
}
void main()
{
char period;//存期。
float my_money,APR_money,total_money;//本金。
printf("\n请在一年、两年、三年、五年中输入一个:");
scanf("%c",&period);
printf("\n请输入你的本金:");
case '3':
APR_money=my_money*3.24/100*3;
break;
case '5':
APR_money=my_money*3.6/100*5;
break;
default:
printf("\n输入错误!\n");
}
total_money=my_money+APR_money;
printf("\n应付总额:%.2f元\n",pay);
}
9.银行提供了整存取定期储蓄业务,其存期分为一年(年利率2.25%)、两年(年利率2.7%)、三年(年利率3.24%)、五年(年利率3.6%),到期凭存单支取本息。
利息=本金*年利率*存期
本息本金+利息
#include<stdio.h>
}
if(ch=='y' && total_cost>=100)
{
discount=total_cost*0.2;
}
pay=total_cost-discount;
printf("\n购物总额:%.2f元\n",total_cost);
printf("\n折扣金额:%.2f元\n",discount);
printf("您收入的利息为:%.2f\n本息为:%.2f\n",APR_money,total_money);
}
10.通过输入1~7判断星期,并显示问候语。
#include<stdio.h>
void main()
{
char ch;
printf("\n请输入1~7表示星期:");
//交换两个数。
temp=num1;
num1=num2;
num2=temp;
printf("交换后的两个数是:%.2f %.2f\n",num1,num2);
}
2.要求输入员工的基本工资,其中物价津贴占基本工资的40%,房屋津贴占基本工资的20%,显示员工的详细信息与实际工资。
ch=getchar();
if(ch=='6' || ch=='7')
printf("\n周末愉快!\n");
else if(ch>='1' && ch<='5')
printf("\n工作日愉快!\n");
else
printf("\n输入错误!\n");
}
11.用户购买商品的数量大于等于10件,并购物总额大于等于10000元时,商店给10%的折扣。接收购物数量与总金额,要求计算出折扣额和应付金额。
shi=(num/10)%10;
bai=(num/100)%10;
qian=num/1000;
sum=ge+shi+bai+qian;
printf("\n这个数的个位:%d 十位:%d 百位:%d 千位:%d \n",ge,shi,bai,qian);
printf("\n各位数之和为:%.2f\n",sum);
total=BASEPAY+BASEPAY*30/100;
printf("\n该员工收到的工资是:%.2f\n",total);
break;
case 'D':
total=BASEPAY+BASEPAY*25/100;
printf("\n该员工收到的工资是:%.2f\n",total);
}
6.接收用户输入数值,但以字符形式表示出来。
#include<stdio.h>
void main()
{
int x;
char ch;
printf("\n请输入一个整数:");
scanf("%d",&x);
printf("\n%d数字对应的字符是:\n",x);
ch=putchar(x);
salary=basic+Prsubsidy+housesubsidy;
//显示该员工的详细信息。
printf("\n以下是该员工的工资金详细信息\n");
printf("基本工资为:%.2f\n物价津贴为:%.2f\n房屋津贴:%.2f\n实际工资:%.2f\n",basic,Prsubsidy,housesubsidy,salary);
#include<stdio.h>
void main()
{
float fahrenheit,degrees;
printf("\n请输入华氏度数:");
scanf("%f",&fahrenheit);
degrees=5/9.0*(fahrenheit-32);
printf("\n华氏度为:%.2f\n摄氏度为:%.2f\n",fahrenheit,degrees);
double total_cost=0,discount=0,pay=0;
printf("\n是否是会员(y/n):");
fflush(stdin);
scanf("%c",&ch);
printf("\n请输入第一件商品的价格:");
scanf("%f",&cost1);
printf("\n请输入第二件商品的价格:");
#include<stdio.h>
void main()
{
float basic,Prsubsidy,housesubsidy,salary;
printf("\n请输入基本工资:");
scanf("%f",&basic);
Prsubsidy=basic*40/100;
housesubsidy=basic*20/100;
scanf("%f",&cost2);
printf("\n请输入第三件商品的价格:");
scanf("%f",&cost3);
total_cost=cost1+cost2+cost3;
if(ch=='y' || total_cost>=100)
{
discount=total_cost*0.1;
printf("\n该员工收到的工资是:%.2f\n",total);
break;
case 'B':
total=BASEPAY+BASEPAY*40/100;