北工大 c语言题库
大学c语言实践考试题及答案

大学c语言实践考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable_2D. variable$答案:B4. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B5. C语言中,以下哪个选项是正确的二进制运算符?A. &&B. ||C. %D. ==答案:C6. 在C语言中,以下哪个选项用于声明一个整型数组?A. int arr[5];B. int [5] arr;C. int 5 arr;D. int arr5;答案:A7. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D8. C语言中,以下哪个选项是正确的递归函数调用?A. void func() { func(); }B. void func() { if (condition) func(); }C. void func() { func(0); }D. void func(int n) { if (n > 0) func(n - 1); }答案:D9. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int * ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. typedefC. unionD. struct答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的关键字是____。
c语言下期末考试题库及详解答案

c语言下期末考试题库及详解答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的?A. 变量名可以以数字开头B. 变量名中可以包含空格C. 变量名区分大小写D. 变量名可以包含特殊字符答案:C2. 下面哪个选项是C语言中的合法整型常量?A. 0x1AB. 1.23C. 0123D. 0E5答案:A3. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D4. C语言中,以下哪个选项是正确的?A. 一个函数可以返回多个值B. 一个函数可以有多个返回类型C. 一个函数可以没有返回值D. 一个函数可以没有参数答案:D5. 在C语言中,以下哪个选项是正确的?A. 所有变量必须在使用前声明B. 变量可以在任何地方声明C. 变量的声明必须在函数的开始处D. 变量的声明可以在代码的任何位置答案:A6. 下列哪个是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D7. 在C语言中,以下哪个选项是正确的?A. 字符串字面量必须以单引号括起来B. 字符串字面量必须以双引号括起来C. 字符串字面量可以以单引号或双引号括起来D. 字符串字面量不能以引号括起来答案:B8. 在C语言中,以下哪个选项是正确的?A. 所有数组元素必须具有相同的数据类型B. 数组的大小在定义时必须确定C. 数组可以是多维的D. 以上都是答案:D9. 在C语言中,以下哪个选项是正确的?A. 指针可以存储任何类型的数据B. 指针可以存储变量的地址C. 指针可以存储函数的地址D. 以上都是答案:B10. 在C语言中,以下哪个选项是正确的?A. switch语句中的case标签必须是整数B. switch语句中的case标签可以是浮点数C. switch语句中的case标签可以是字符串D. switch语句中的case标签可以是任意类型答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于输入的函数是________。
大学c语言考试题及答案

大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,以下哪个是正确的数据类型?A. IntegerB. CharacterC. Both A and BD. None of the above答案:C3. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-twoD. variable_two答案:B4. 以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. exp()答案:A6. C语言中,以下哪个语句用于结束程序?A. break;B. continue;C. return;D. exit();答案:D7. 在C语言中,以下哪个是正确的数组声明?A. int numbers;B. int numbers[10];C. int numbers = 10;D. int numbers[] = {1, 2, 3};答案:B8. C语言中,以下哪个是正确的函数定义?A. int function(int a, int b) { ... }B. void function(int a, int b) { ... }C. int function(int a, int b) = { ... }D. int function(int a, int b) = 0;答案:B9. 在C语言中,以下哪个是正确的条件语句?A. if (a > b)B. if a > bC. if (a > b) { ... }D. if (a > b) then { ... }答案:C10. C语言中,以下哪个是正确的循环结构?A. for (int i = 0; i < 10; i++)B. while (i < 10)C. do { ... } while (condition)D. All of the above答案:D二、简答题(每题5分,共10分)1. 简述C语言中指针的概念及其用途。
c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B5. 在C语言中,以下哪个数据类型用于存储浮点数?A. intB. floatC. charD. double答案:B6. 以下哪个选项不是C语言中合法的变量名?A. _myVarB. my_varC. 2myVarD. my_var2答案:C7. C语言中,以下哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. def答案:A9. 以下哪个选项不是C语言中合法的注释?A. // This is a commentB. /* This is a comment */C. /* This is a comment */D. // This is a comment答案:C10. 在C语言中,以下哪个关键字用于定义一个指针?A. ptrB. pointerC. *D. ref答案:C二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量的关键字是________。
答案:int2. 用于定义一个字符变量的关键字是________。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float4. 在C语言中,________运算符用于比较两个数是否相等。
大学C语言考试题库(含答案)

单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
大学c语言期末考试题库及答案

大学c语言期末考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。
答案:+2. C语言中的________关键字用于声明一个无返回值的函数。
北京化工大学C语言复习题

C语言期末总复习参考试卷一、选择题(共22分)1.下列变量名中合法的是____ 。
A) B.C.Tom B)3a6b C)_6a7b D) $ABC2.C程序的执行是从____开始执行A)第一条语句B)主函数C)命令行D)第一个出现的函数3.已知ch是字符型变量,下面不正确的赋值语句是____。
A)ch=‘a+b’; B) ch=‘\0’;C)ch=‘7’+‘9’; D)ch=5+9;4. 与语句while(x);等价的语句是______。
A) while(x==0);B) while(x!=0);C) while(x!=1);D) while(~x);5. 已知int i;float f;下列语句正确的是______。
A)(int f)%i B) int(f)%i C) int(f%i) D) (int)f%i6.若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+67.以下为一维整型数组a的正确说明是_________.A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];8.温度华氏和摄氏的关系是: C=5/9(F-32)。
已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。
A)C=5/9(F-32) B)C=5*(F-32)/9 C)C=5/9*(F-32) D)三个表达式都正确9.若有以下说明和语句:struct worker{ int no;char *name;}work, *p=&work;则以下引用方法不正确的是____。
A)work.no B)(*p).no C)p->no D)work->no 10.为了判断两个字符串s1和s2是否相等,应当使用____。
大一c语言期末考试题库及答案

大一c语言期末考试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:D2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 下列哪个选项是正确的C语言注释?A. // 这是一个注释B. /* 这是一个注释 */C. /* 这是一个注释D. // 这是一个注释答案:A4. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. >D. <5. 下列哪个选项是正确的C语言数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2};D. int array = {1, 2, 3, 4, 5};答案:A6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. classC. unionD. typedef答案:A7. 下列哪个选项是正确的C语言指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr;D. int *ptr = 0, *ptr2;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:A9. 下列哪个选项是正确的C语言文件打开方式?B. "w"C. "a"D. "b"答案:A10. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. constantD. const答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个枚举类型。
c语言期末考试题库及详解答案

c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。
选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。
2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。
选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。
3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。
选项B和D使用了单引号,它们表示单个字符。
选项C的引号没有正确闭合。
4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。
选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。
5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。
选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。
6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。
北工大C语言题库(完美版)

1求两个数的和与差输入整数a 和b,计算并输出a、b 的和与差.#include <stdio.h>int main(){int a,b,sum,diff;scanf("%d%d",&a,&b);sum=a+b;diff=a-b;printf("The sum is %d\n",sum);printf("The difference is %d\n",diff);}2求平方根输入1 个实数X,计算井输出其平方根(保留1 位小数).(例:输入17; 输出The square root of 17.0 is 4.1)#include <stdio.h>#include <math.h>int main (){double x,root;scanf("%lf",&x);root=sqrt(x);printf("The square root of %f is %0.1f\n",x,root);}3华氏温度转换为摄氏温度输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数). c = 5/9(f-32).( 例z 括号内是说明输入17.2 (华氏温度)输出Thc temprature is -8.22)#include <stdio.h>int main(){double f,c;scanf("%lf",&f);c=5.0/9.0*(f-32.0);printf("The temprature is %0.2f\n",c);}4计算旅途时间输入2 个整数time1 和time2. 表示火车的出发时间和到达时间,计算并输出旅途时间.有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况.#include <stdio.h>int main(){int time1,time2,hours,mins;scanf("%d%d" ,&time1,&time2);time1=time1/100*60+time1 % 100;time2= time2/100*60+time2%100;hours=(time2-time1)/60;mins=(time2-time1)%60;printf("The train journey time is %d hrs %d mins.\n",hours,mins);}5大写字母转换成小写字母输入一个大写英文字母,输出相应的小写字母.例:输入G 输出g#include <stdio.h>int main (){char ch;scanf("%c",&ch);ch=ch-'A'+'a';6显示两级成绩输入一个正整数repeat (0<repeat<10) ,做repeat 次下列运算:输入一个学生的数学成绩,如果它低于ω,输出"Fail",否则,输出"Pass".#include <stdio.h>int main(){int mark;scanf("%d",&mark);if(mark>59)printf("Pass\n");else printf("Fail\n");}7找最小值#include <stdio.h>int main(){int a,b,c,d,min;scanf("%d%d%d%d",&a,&b,&c,&d);min=a;if(min>b) min=b;if(min>c) min=c;if(min>d) min=d;printf("min is %d\n",min);}8求三角形面积和周长输入三角形的三条边a,b,c. 如果能构成一个三角形,输出面积area 和周长perimete 保留2 位小数);否则,输出(These sides do not correspond to a valid triangle". 在一个三角形中,任意两边之和大于第三边.#include <stdio.h>#include <math.h>int main(){float a,b,c,area,perimeter,s;scanf ("%f%f%f",&a,&b,&c);if(a+b>c&&a-b<c){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;printf ("area=%f",area);printf ("perimeter=%f",perimeter);}elseprintf ("These sides do not correspond to a valid triangle");}9判断数的符号输入整数x,若x 大于0,y=l;若x 等于0,y=0;否则,y=-I ,最后输出y#include <stdio.h>int main(){int x,y;scanf("%d",&x);if(x<0) y=-1;else if(x>0) y=1;else y=0;printf("y=%d\n",y);}以下4 种水果的单价分别是 3.00 元/公斤,2.50 元/公斤, 4.10 元/公斤,10.20 元/公斤.[1]apples [2] pears [3] oranges[4] grapes 输入水果的编号,输出该水果的单价(保留2 位小数). 如果输入不正确的编号,显示单价为0.#include <stdio.h>int main( ){int choice;float price;printf("[1] apples\n");printf("[2] pears\n");printf("[3] oranges\n");printf("[4] grapes\n");scanf("%d",&choice);price=(choice== 1)*3+(choice==2)*2.50+( choice==3)*4.1+(choice==4)*10.2;printf("price=% 0.2f\n",price);}11 读入1 个正整数n(n<=100) ,计算并输出1+1/2+1/3+ ..... + 1/n (保留3 位小数).#include <stdio.h>int main(){int i,n;float sum;scanf("%d",&n);sum=0;for(i=1;i<=n;i++)sum=sum+1.0/i;printf(" %0.3f\n",sum);}12求n 的阶乘#include <stdio.h>int main(){int i,n;double fact;scanf("%d",&n);fact=1;for(i=1;i<=n;i++){fact=fact*i;}printf("%0.0f\n",fact);}13求X 的n 次幂#include <stdio.h>int main (){int i,n;double x,mypow ;scanf("%lf%d",&x,&n);mypow=1;for (i=1;i<=n;i++)mypow*=x;printf(" %.2f\n",mypow);}14摄氏华氏转换表#include <stdio.h>int main( )scanf("%d %d",&begin,&end);printf("Celsius Fahrenheit\n ");for(c=begin ;c<=end ;c++){f=32+c*9/5;printf(" %d % 10d\n",c,f);}}15求整数的位数以及各位数之和#include <stdio.h>int main( ){int number,sum;long in;scanf("%d",&in);number=0;sum=0;if(in<0) in=-in;do{number++;sum+=(in%10);}while((in/=10)!=0);printf("number=%d,sum=%d\n",number,sum);}16求最大值#include <stdio.h>int main( ){int i,max,n,x;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&x);if(i==1) max=x;else if(x>max) max=x;}printf(" %d\n",max);}17求a+aa+aaa+aa ... a#include <stdio.h>void main(){int i,n;long int a,sn,tn;scanf("%ld%d",&a,&n);tn=a;sn=0;for(i=1 ;i<=n;i++){sn+=tn;tn=10*tn+a ;}printf(" %ld\n",sn);}18输入1 个正整数n,计算s 的前n 项的和(保留4 位小数)。
北京工业大学c语言练习1

北京工业大学c语言练习1一、读程序写出运行结果: 1. 若从键盘输入58,则以下程序段的输出结果是:int main(void) { int a; scanf(“%d”,&a); if (a>50) printf(“%d”,a); if(a>40) printf(“%d”,a); if(a>30) printf(“%d”,a); return 0; } 2. 下列程序运行的输出结果是:int main(void) { char c=’b’; int k=4; switch(c) { case ‘a’: k=k+1; break; case ‘b’: k=k+2; case ‘c’: k=k+3; } printf(“%d\\n”,k); return 0; } 二、编程题 1. 键盘输入一个三位整数,输出该数的各位数字本题要求编写程序,输出一个三位整数的个位数字、十位数字和百位数字的值。
输入格式:输入152。
输出格式:按照以下格式输出:152 = 个位数字+ 十位数字*10 + 百位数字*100 2. 将x的平方赋值给y键盘输入x的值,计算x的平方并赋值给y,分别以“y = x ? x”和“x ? x = y”的形式输出x和y的值。
输入格式:输入一个整数3 输出格式:按照下列格式输出代入x=3的结果:y = x * x x * x = y 3. 本题目要求计算下列分段函数f(x)的值:输入格式: 输入在一行中给出实数x。
输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1: 10 输出样例1: f() = 4. 为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调元/千瓦时。
请编写程序计算电费。
C语言编程答案(工大题库)

1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。
然后输出最后得到的字符。
#include<stdio.h>int main(){char c1;printf("input a latter:\n");scanf("%c",&c1);if(c1>='A'&&c1<='Z')c1=c1+32;printf("%c",c1);return 0;}2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include<stdio.h>int main(){char c;int letters=0,space=0,digit=0,other=0;printf("Please input letters:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c>='0'&&c<='9')digit++;else if(c==' ')space++;elseother++;}printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字母数:%d\n",letters,digit,space,other);return 0;},利用主函数调用这个函数并输出结果。
3、编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n#include<stdio.h>int main(){int n;float c;float sum(int n);scanf("%d",&n);c=sum(n);printf("%f\n",c);}float sum(int n){int i;float sum=0.0;for(i=1;i<=n;i++)sum=sum+1.0/i;return sum;}4、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。
(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
2022年北方工业大学公共课《C语言》科目期末试卷B(有答案)

2022年北方工业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
5、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
6、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
10、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
北京工业大学c语言练习5-字符串

练习5 字符数组学号姓名1.该程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。
#include <stdio.h>#include <string.h>int main( void){ char a[ ]="natural", t;int i, j, k;k=strlen(a); //strlen()函数用来求数组的长度for( i=0; i<k-2; i=i+2 )for(j=i+2;j<=k;)if(){ t=a[i];a[i]=a[j];a[j]=t; }puts(a);return 0;}2#include <stdio.h>void main(){char s[80];int i=0;gets(s);while(s[i]!='\0'){if(s[i]>='a' && s[i]<='z')s[i]=s[i]-'a'+'A';i++;}puts(s);}(1) 若在程序运行时输入Happy!<回车>运行结果是:(2) 简述程序的主要功能:2.这个程序的功能是:将以字符串形式给出的时间分解成数值型表示的小时、分钟、秒,并显示输出。
例如,字符串形式表示的时间是“10:50:27”,运行程序后,在屏幕上应该显示输出The time is :10 hours, 50 minutes, 27second 的字样。
请填空完成。
#include <stdio.h>main( ){char time[ ] = "10:50:27";int hour, minute, second;hour = (time[0]-'0')*10+time[1]-'0';minute = (time[3]-'0')*10+____________________ ;second = ___________________ +time[7]-'0';printf("\nThe time is :%d hours,%d minutes,%d seconds", hour, minute, second);}。
C语言考试题库及答案

C语言考试题库及答案一、选择题1. C语言中,以下哪个选项是合法的数据类型?A. intB. floatC. charD. All of the above答案:D2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. doubleC. intD. char答案:C3. 下面哪个选项不是C语言的逻辑运算符?A. &&B. ||C. !D. ++答案:D4. 在C语言中,哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个关键字用于定义结构体?A. structB. unionC. enumD. class答案:A二、填空题6. 在C语言中,用于声明函数原型的是______。
答案:函数原型7. 在C语言中,用于输入输出函数的是______。
答案:stdio.h8. 在C语言中,用于定义常量的是______。
答案:#define 或 const9. 在C语言中,用于定义指针的是______。
答案:(星号)10. 在C语言中,用于终止当前循环的是______。
答案:break三、判断题11. C语言中的数组下标是从1开始的。
()答案:错误12. 在C语言中,switch语句可以替代if-else语句。
()答案:正确13. 在C语言中,所有的变量在使用前必须声明。
()答案:正确14. C语言中的结构体是一种用户自定义的数据类型。
()答案:正确15. 在C语言中,函数的返回值类型不能是数组。
()答案:正确四、编程题16. 编写一个C程序,输出1到100之间所有的偶数。
```c#include <stdio.h>int main() {int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {printf("%d\n", i);}}return 0;}```17. 编写一个C程序,计算并输出斐波那契数列的前10项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求1 + 1/2! +....+ 1/n!#include "stdio.h"int main( ){int ri,repeat;int i,n;double s;double fact(int n);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d",&n);s=0;for(i=1;i<=n;i++)s=s+1/fact(i);printf("%0.4f\n",s);}return 0;}double fact(int n){int i;double result;result=1;for(i=1;i<=n;i++)result=result*i;return result;}统计一个整数中数字的个数#include "stdio.h"int main( ){int ri,repeat;int count;long in;int countdigit(long number, int digit); scanf("%d",&repeat); #include "stdio.h"int main( ){int ri,repeat;int i,n,j;float s,t;scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){scanf("%d",&n);s=0;for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+1.0/t;}printf("%0.4f\n",s); }}for(ri=1;ri<=repeat;ri++){scanf("%ld",&in);count=countdigit(in,2);printf("count=%d\n",count); }}int countdigit(long number, int digit) {int i,count=0,t;if(number<0)number=-number;for(i=1; ;i++){t=number%10;if(t==digit)count++;number=number/10;if(number==0)break;}return count;}统计素数并求和#include "stdio.h"#include "math.h"int main( ){int ri,repeat;int count, i, m, n, sum;int prime(int m);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);sum=0;count=0;for(i=m;i<=n;i++){if(prime(i)==1){count++;sum=sum+i;}}printf("count=%d, sum=%d\n", count, sum); #include "stdio.h"#include "math.h"int main( ){int ri,repeat;int count, digit, i, j, k, m, n, sum;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);count=0;sum=0;digit=0;for(i=m;i>=m&&i<=n;i++){for(j=2;j<=n/2;j++)if(i%j==0)break;if(j>i/2&&i!=1){count++;sum=sum+i;}}printf("count=%d,sum=%d\n", count, sum);}int prime(int m){int i;if(m==1)return 0;if(m>1){for(i=2;i<=m/2;i++){if(m%i==0){return 0;}}if(i>m/2) return 1;}}求完数#include "stdio.h"int main( ){int ri,repeat;int i, m, n;long factorsum(int number);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);for(i=m;i<=n;i++){if(i==factorsum(i))printf("%d ", i);}printf("\n");}}long factorsum(int number) {int i,sum=0;if(number==1) return 1;for(i=1;i<number;i++){if(number%i==0)sum=sum+i;}return sum;}输出 Fibonacci 序列#include "stdio.h"#include "math.h"int main( ){int ri,repeat;int i, m, n;long f;long fib(int n);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);for(i=1; ;i++){f=fib(i);if(f>=m&&f<=n) printf("%ld ", f);if(f>n) break;}printf("\n");}return 0;}long fib(int n){int i,a=1,b=1,t;if(n==1) return 1;if(n==2) return 1;for(i=3;i<=n;i++){t=a+b;a=b;b=t;}return t;}求各位数字的立方和等于它本身的数#include "stdio.h"int main( ){int ri,repeat; Fibonacci序列的前十项X1=1;X2=1;Printf(“%6d%6d”,x1,x2); For(i=1;i<=8;i++){X=x1+x2;Printf(“%6d”,x);X1=x2;X2=x;int i, m, n;int is(int number);scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){scanf("%d%d", &m, &n);for(i=m;i<=n;i++){if(i==is(i))printf("%d ", i);}printf("\n");}return 0;}int is(int number){int t,sum=0;do{t=number%10;sum=sum+t*t*t;number=number/10;}while(number!=0);return sum;}将一个整数逆序输出#include <stdio.h>int main( ){int ri, repeat;long in, res,k;long reverse(long number);scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%ld", &in);if(in<0){in=-in;k=1;}else k=0;res=reverse(in);if(k==1)res=-res;printf("%ld\n", res);}}long reverse(long number){int a,b;b=0;while(number!=0){a=number%10;b=b*10+a;number=number/10;}return b;}循环移动(调试示例error08_1)#include <stdio.h>void mov(int *x, int n, int m);int main(void){int i, m, n,*p;int a[80];scanf("%d%d", &n, &m);for(i = 0; i < n; i++)scanf("%d", &a[i]);mov(a,n,m);printf("After move: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}void mov(int *x,int n,int m){int i,j,k;for(i=0;i<m;i++){k=x[n-1];for(j=n-1;j>0;j--)x[j]=x[j-1];x[0]=k;}}在数组中查找指定元素#include <stdio.h>int main(void){int i, index, n, res, x;int repeat, ri;int a[10];int search(int list[], int n, int x);scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);scanf("%d", &x);res=search(a,n,x);if(res != -1)printf("index = %d\n", res);elseprintf("Not found\n");}}int search(int list[],int n,int x){int i,res;res=-1;for(i=0;i<n;i++)if(list[i]==x)res=i;return res;}使用函数的选择法排序#include <stdio.h>void sort(int a[],int n);int main(void){int i, n;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);sort(a,n);printf("After sorted: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}void sort(int *p,int n){int k,i,index,t;for(k=0;k<n-1;k++){index=k;for(i=k+1;i<n;i++)if(p[i]<p[index])index=i;t=p[index];p[index]=p[k];p[k]=t;}}使用函数删除字符串中的字符#include<stdio.h>void main(){char c;char str[80];int repeat, ri;void delchar(char *str, char c);scanf("%d", &repeat);getchar();for(ri = 1; ri <= repeat; ri++){gets(str);scanf("%c", &c);getchar();/*---------*/delchar(str,c);printf("result: ");puts(str);}}/*---------*/void delchar(char *str,char c){int i,j;for(i=j=0;str[i]!='\0';i++){if(str[i]!=c)str[j++]=str[i];}str[j]='\0';}使用函数实现字符串复制#include<stdio.h>#include<string.h>void main(){char s[80], t[80];int m;int repeat, ri;void strmcpy(char *s,char *t, int m);scanf("%d", &repeat);getchar();for(ri = 1; ri <= repeat; ri++){gets(t);scanf("%d", &m);getchar();if(strlen(t) < m)printf("error input");else{/*---------*/strmcpy(s,t,m);puts(s);}}}void strmcpy(char *s,char *t,int m){int i,j;j=0;for(i=m-1;t[i]!='\0';i++)s[j++]=t[i];s[j]='\0';}/*---------*/判断回文字符串#include <stdio.h>void main(){char s[80];int repeat, ri;int mirror(char *p);scanf("%d", &repeat);getchar();for(ri = 1; ri <= repeat; ri++){gets(s);if(mirror(s) != 0)printf("YES\n");elseprintf("NO\n");}}/*---------*/int mirror(char *p){char *q;q=p;while(*q!='\0')q++;p--;while(p<q){if(*p!=*q)return 0;p++;q--;}return 1;}分类统计字符个数#include<stdio.h>void main()char s[80];char *p;int blank, digit, lower, other, upper;gets(s);upper = lower = blank = digit = other = 0;/*---------*/for(p=s;*p!='\0';p++)if(*p>='A'&&*p<='Z')upper++;else if(*p>='a'&&*p<='z')lower++;else if(*p>='0'&&*p<='9')digit++;else if(*p==' ')blank++;elseother++;printf("upper: %d lower: %d blank: %d digit: %d other: %d\n", upper, lower, blank, digit, other);}显示水果的价格#include <stdio.h>int main(void){int ri, repeat;int choice;float price;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){printf("[1] apples\n");printf("[2] pears\n");printf("[3] oranges\n");printf("[4] grapes\n");scanf("%d", &choice);if(choice==0)printf("price=0");switch(choice){case 1:price=3.00;break;case 2:price=2.50;break;case 3:price=4.10;break;case 4:price=10.20;break;}printf("price=%.2f\n", price);}return 0;}求n!#include <stdio.h>int main(void){int ri, repeat;int i, n;double fact;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%d", &n);fact=1;for(i=1;i<=n;i++)fact=fact*i;printf("%.0f\n", fact);}return 0;}求最大值#include <stdio.h>int main( ){int ri, repeat;int i , max, n, x;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%d", &n);max=n;for(i=1;i<=n;i++){scanf("%d",&x);if(max<x)max=x;}printf("%d\n", max);}return 0;}求整数的位数以及各位数之和#include <stdio.h>int main( ){int ri, repeat;int number, sum;long in;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){number=0;sum=0;scanf("%ld", &in);if(in<0)in=-in;do{sum=sum+in%10;in=in/10;number++;}while(in!=0);printf("number=%d, sum=%d\n", number, sum);}}求a+aa+aaa+aa…a#include <stdio.h>void main(){int ri, repeat;int i, n;long int a, sn, tn;scanf("%d", &repeat);for(ri=1; ri<=repeat; ri++){scanf("%ld%d", &a, &n);sn=a;tn=a;for(i=1;i<=n-1;i++){tn=10*tn+a;sn=sn+tn;}printf("%ld\n",sn);}}求平均值#include <stdio.h>int main(void){int i, n, sum;int repeat, ri;int a[10];double aver;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);sum=0;for(i = 0; i < n; i++){scanf("%d", &a[i]);sum=sum+a[i];}aver=sum/(n*1.0);printf("average = %.2f\n", aver);}}交换最小值和最大值#include <stdio.h>int main(void){int i, index, n, t;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);index=0;for(i=0;i<n;i++)if(a[i]<a[index])index=i;t=a[0];a[0]=a[index];a[index]=t;for(i=0;i<n;i++)if(a[i]>a[index])index=i;t=a[n-1];a[n-1]=a[index];a[index]=t;printf("After swap: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}将数组中的数逆序存放#include <stdio.h>int main(void){int i, n, temp;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);for(i=0;i<n/2;i++){temp=a[i];a[i]=a[n-1-i];a[n-1-i]=temp;}for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}选择法排序#include <stdio.h>int main(void){int i, index, k, n, temp;int repeat, ri;int a[10];scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);for(i = 0; i < n; i++)scanf("%d", &a[i]);for(k=0;k<n-1;k++){index=k;for(i=k+1;i<n;i++)if(a[i]>a[index])index=i;temp=a[index];a[index]=a[k];a[k]=temp;}printf("After sorted: ");for(i = 0; i < n; i++)printf("%d ", a[i]);printf("\n");}}调试示例error09_1.cpp#include <stdio.h>int main (void){int i, n;struct emp{char name[10];double jbg;double fdg;double zc;} s[10];scanf("%d", &n);for(i=0;i<n;i++)scanf("%s%lf%lf%lf",s[i].name,&s[i].jbg,&s[i].fdg,&s[i].zc);for (i = 0; i < n; i++)printf ("%5s 实发工资:%7.2f\n", s[i].name, s[i].jbg + s[i].fdg - s[i].zc);return 0;}计算平均成绩#include <stdio.h>int main(void){int i, n;double average, sum=0;struct student{int num;char name[10];int score;}s[10];scanf("%d", &n);for(i=1;i<=n;i++){scanf("%d%s%d",&s[i].num,s[i].name,&s[i].score);sum=sum+s[i].score;}average=sum/n;printf("average: %.2f\n", average);}查找书籍#include <stdio.h>int main (void){int i, max_index, min_index, n;double x;struct book{char name[50];double price;}book[10];scanf("%d", &n);getchar();for(i = 0; i < n; i++){gets(book[i].name);scanf("%lf", &x);getchar();book[i].price = x;}min_index=0;for(i=0;i<n;i++){if(book[i].price<book[min_index].price){min_index=i;}}max_index=0;for(i=0;i<n;i++){if(book[i].price>book[max_index].price){max_index=i;}}printf("highest price: %.1f, %s\n", book[max_index].price, book[max_index].name);printf("lowest price: %.1f, %s\n", book[min_index].price, book[min_index].name);return 0;}找出总分最高的学生(改错题error09_2)#include <stdio.h>int main (void){int i, j, k, max_index, n;struct student{int number;char name[20];int score[3];int sum;}stu[10];scanf("%d", &n);/*---------*/for(i=0;i<n;i++){scanf("%d",&stu[i].number);scanf("%s",stu[i].name);scanf("%d",&stu[i].score[0]);scanf("%d",&stu[i].score[1]);scanf("%d",&stu[i].score[2]);stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];}max_index=0;for(i=0;i<n;i++){if(stu[i].sum>stu[max_index].sum)max_index=i;printf("总分最高的学生是: %s,%d分", stu[max_index].name, stu[max_index].sum);}计算两个复数之积#include <stdio.h>int main(void){struct complex{int real;int imag;}product, x, y;scanf("%d%d%d%d", &x.real, &x.imag, &y.real, &y.imag);product.real=x.real*y.real-x.imag*y.imag;product.imag=x.real*y.imag+y.real*x.imag;printf("(%d+%di) * (%d+%di) = %d + %di\n", x.real, x.imag, y.real, y.imag, product.real, product.imag);return 0;}#include<stdio.h>Int main(void){Printf(“Hello World!\n”);Return 0;}1~100 间所有偶数的和#include<stdio.h>Int main(void){Int i, sum=0;For(i=1; i<=100; i++)If(i%2==0)Sum=sum+i;Printf(“%d”,sum);Return 0;}求分段函数#include<stdio.h>Int main(void){Double x,y;Printf(“Enter x (x>=0):\n”);Scanf(“%lf”,&x);if(x<=15)Y=4*x/3;ElseY=2.5*x-10.5;Printf(“f(%f)=%.2f\n”,x,y);Return 0;}求1+2+......+n#include<stdio.h>Int main(void){Int i, sum, n;Printf(“Enter n:”);Scanf(“%d”,&n);Sum=0;For(i=1;i<=n;i++)Sum=sum+i;Printf(“sum=%d\n”,sum);Return 0;}求1-1/3+1/5-1/7+...共n项之和#include<stdio.h>Int main(void){Int denominator, flag, i, n;Double item, sum;Printf(“Enter n:”);Scanf(“%d”,&n);Flag=1;Denominator=1;Sum=0;For(i=1;i<=n;i++){Item=flag*1.0/denominator;Sum=sum+item;Flag=-flag;Denominator=denominator+2;}Printf(“sum=%f\n”, sum); Return 0;}统计学生的成绩从键盘输入一批学生的成绩,计算平均成绩,并统计不及格学生的人数统计一个整数的位数判断素数求最小值及其下标判断回文统计数字字符个数输入5个字符串,输出其中最小字符串将数组元素逆序存放输入n个学生的成绩信息,计算并输出每个学生的个人平均成绩。