大一c语言复习题
- 格式:doc
- 大小:130.50 KB
- 文档页数:19
大一c语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,一个整型变量int所占的字节数是多少?A. 1B. 2C. 4D. 8答案:C3. 在C语言中,以下哪个语句是正确的赋值语句?A. int a = 10;B. int a = 10 = 5;C. int a = (10, 5);D. int a = 5;答案:A4. 以下哪个函数是C语言标准库中用于输入的函数?A. printf()B. scanf()C. getchar()D. puts()答案:B5. 以下哪个是C语言的控制语句?A. ifB. switchC. caseD. for答案:D6. 以下哪个是C语言中数组的声明方式?A. int array = {1, 2, 3};B. int array[] = {1, 2, 3};C. int array[3] = {1, 2, 3};D. int array[3] = 1, 2, 3;答案:B7. C语言中,以下哪个是正确的函数声明?A. int function(int a)B. int function(int a);C. int function(int a) {}D. int function(int a) { return a; }答案:B8. 在C语言中,以下哪个是正确的字符串定义方式?A. char str = "Hello, World!";B. char str[] = "Hello, World!";C. char str = 'Hello, World!';D. char str[12] = "Hello, World!";答案:B9. C语言中,以下哪个是正确的循环结构?A. for (int i = 0; i < 10; i++)B. while (int i = 0; i < 10; i++)C. do { } while (int i = 0; i < 10; i++)D. if (int i = 0; i < 10; i++)答案:A10. 在C语言中,以下哪个是正确的结构体声明?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; };C. struct Student { int id, char name[50]; };D. struct Student id, name;答案:A二、填空题(每空2分,共20分)1. C语言中,一个字符型变量char所占的字节数是______。
c语言考试题及答案大一一、选择题1. 下列哪个是C语言的关键字?A. intB. MainC. VarD. For答案:A. int2. C语言中,用于接收用户输入的函数是?A. print()B. scanf()C. input()D. read()答案:B. scanf()3. 下列哪个运算符用于执行求余操作?A. +B. /C. -D. %答案:D. %4. 在C语言中,以下不属于基本数据类型的是?A. intB. floatC. charD. string答案:D. string5. 以下哪个循环结构在执行前判断条件是否满足?A. for循环B. while循环C. do-while循环D. switch语句答案:B. while循环二、填空题1. C语言中,用于定义常量的关键字是__const__。
2. 在C语言中,用于将字符转换为整数的函数是__atoi__。
3. 在C语言中,用于声明一个变量但不对其进行初始化的关键字是__extern__。
4. 在C语言中,用于定义一段预处理指令的关键字是__define__。
三、编程题1. 编写一个C语言程序,判断一个输入的整数是否为质数。
如果是质数,则输出"Yes",否则输出"No"。
```c#include <stdio.h>int isPrime(int n);int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("Yes\n");} else {printf("No\n");}return 0;}int isPrime(int n) {if (n <= 1) {return 0;}for (int i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}```四、简答题1. 请说明C语言中的指针和数组的关系。
大一学生c语言考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x123B. 123.0C. 0123D. 0x12.3答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 下列哪个运算符不能用于数组?A. []B. +C. *D. /答案:D4. 在C语言中,以下哪个选项不是控制语句?A. ifC. forD. sizeof答案:D5. 若有定义:int a=5; float b=2.5; 则表达式 a%b 的值是多少?A. 0B. 0.0C. 2D. 编译错误答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 下列哪个选项是正确的C语言变量声明?A. int $a;B. int _a;C. int 2b;D. int a-b;答案:B8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?B. strncpy()C. strcat()D. strcmp()答案:A9. C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. fgets()D. malloc()答案:D10. 若有定义:int a=10; 则执行语句 a+=a*=a; 后,变量a的值是多少?A. 100B. 200C. 1000D. 0答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如 'A','1',' ' 等,其中 ' ' 表示______。
答案:空格2. C语言中,若要声明一个指向整型的指针变量,可以使用以下语法:int *______;答案:p3. 在C语言中,若要声明一个具有10个元素的整型数组,可以使用以下语法:int ______[10];答案:arr4. 在C语言中,若要声明一个函数,该函数返回整型值,并且接受两个整型参数,可以使用以下语法:int ______(int a, int b);答案:func5. 在C语言中,若要声明一个结构体变量,可以使用以下语法:struct ______ st;答案:StructType6. 在C语言中,若要声明一个枚举类型,可以使用以下语法:enum ______ {E1, E2, E3};答案:EnumType7. 在C语言中,若要声明一个联合体变量,可以使用以下语法:union ______ u;答案:UnionType8. 在C语言中,若要声明一个浮点型数组,可以使用以下语法:float ______[5];答案:arr9. 在C语言中,若要声明一个二维数组,可以使用以下语法:int ______[3][4];答案:arr10. 在C语言中,若要声明一个具有10个元素的字符数组,可以使用以下语法:char ______[10];答案:str三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。
大一c语言考试题及答案详解大一C语言考试题及答案详解一、选择题(每题2分,共20分)1. C语言中,以下哪个是正确的数据类型?A. IntegerB. intC. floatD. all of the above答案:D2. 下列哪个运算符不能用于整数和浮点数的运算?A. 加(+)B. 减(-)C. 乘(*)D. 模(%)答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. ifB. forC. functionD. void答案:D4. C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A5. 在C语言中,以下哪个是正确的数组声明语句?A. int numbers[];B. int [10] numbers;C. Both A and BD. None of the above答案:C6. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a - b;C. a = a / b;D. a = a + b; b = a - b; a = a - b;答案:D7. C语言中,哪个预处理指令用于包含头文件?A. #includeB. #importC. #include_onceD. #header答案:A8. 在C语言中,哪个关键字用于声明一个指针变量?A. varB. pointerC. ptrD. * (asterisk)答案:D9. 下列哪个不是C语言中的控制结构?A. if-elseB. switch-caseC. whileD. goto答案:D10. C语言中,以下哪个函数用于将整数转换为字符串?A. intToString()B. itoa()C. toStr()D. None of the above答案:B二、填空题(每空2分,共20分)1. 在C语言中,字符常量用________表示。
大一计算机c语言考试题及答案1. 选择题1) C语言中的关键字是指什么?A) 用来定义变量类型的关键字B) 用来声明函数的关键字C) 用来控制程序流程的关键字D) 用来定义常量的关键字答案:C) 用来控制程序流程的关键字2) 下列哪个不是C语言的基本数据类型?A) intB) floatC) doubleD) bool答案:D) bool3) 在C语言中,以下哪个语句可以用来读取用户输入的整数?A) scanf("%d", &num);B) printf("%d", num);C) gets(num);D) puts(num);答案:A) scanf("%d", &num);4) 下列哪个运算符用于获取变量的地址?A) *B) &C) +D) -答案:B) &5) 下列哪个循环语句只有在循环条件为假时才会执行循环体?A) for循环B) while循环C) do-while循环D) switch语句答案:C) do-while循环2. 填空题1) 在C语言中,用于定义常量的关键字是________。
答案:const2) 以下哪个运算符用于计算两个数的余数?A) *B) /C) +D) %答案:D) %3) 下列代码中,空格处应填写的条件是:if (x ________ 10)答案:>、<、>=、<=、==、!=4) 下列哪个函数用于输出字符串到屏幕?A) scanB) printfC) getsD) puts答案:B) printf5) C语言中用于循环控制的关键字是________。
答案:for、while、do3. 简答题1) 请简述C语言中的数组是什么?答:C语言中的数组是一种用于存储相同类型元素的数据结构。
数组可以通过下标访问其中的元素,下标从0开始计数。
数组的大小在定义时需要指定,一旦定义后大小不能再改变。
大一c语言考试题库及详解答案大一C语言考试题库及详解答案一、选择题1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. 在C语言中,一个整型变量int占用的内存大小是多少字节?A. 1B. 2C. 4D. 8答案:C二、填空题1. 在C语言中,___________ 用于定义一个变量的存储类型、类型和变量名。
答案:声明2. 一个C语言程序的执行从___________ 函数开始。
答案:main三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储相同类型的多个元素。
数组的定义格式为:类型名数组名[数组大小]。
数组的初始化可以通过赋值语句逐个元素赋值,或者使用初始化列表在定义时直接初始化。
2. 描述C语言中函数的定义和调用过程。
答案:函数是C语言中实现代码复用的一种方式。
函数的定义包括返回类型、函数名、参数列表和函数体。
调用函数时,需要使用函数名和相应的参数列表。
函数的调用过程包括参数传递、函数执行和返回结果。
四、编程题1. 编写一个C语言程序,实现求两个整数的最大公约数。
```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", gcd(num1, num2));return 0;}```答案:上述程序定义了一个名为gcd的函数,通过辗转相除法计算两个整数的最大公约数。
c语言大一期末复习题库C语言作为计算机科学与技术专业的基础课程,对于大一学生来说,掌握其基本概念和编程技巧至关重要。
以下是一份C语言大一期末复习题库,旨在帮助同学们系统复习和巩固所学知识。
# 一、选择题1. C语言的标准输入输出函数分别是:A. `printf`, `scanf`B. `print`, `read`C. `show`, `input`D. `display`, `get`2. 以下哪个不是C语言的基本数据类型?A. `int`B. `float`C. `string`D. `double`3. 在C语言中,哪个关键字用于定义函数?A. `function`B. `def`C. `func`D. `void`4. 下面哪个是正确的C语言数组声明?A. `int numbers[] = {1, 2, 3};`B. `int numbers(3) = {1, 2, 3};`C. `int [3] numbers = {1, 2, 3};`D. 以上都是5. 在C语言中,`break`语句的作用是:A. 跳过当前循环的剩余部分B. 直接跳出循环体C. 继续下一次循环D. 退出程序# 二、填空题1. C语言中,`printf`函数用于输出,其返回类型是______。
2. 在C语言中,定义一个整型变量`x`的语句是______。
3. C语言中,`for`循环的基本结构是:for(______,______,______) { }。
4. 一个C语言程序的执行从______函数开始。
5. 在C语言中,`switch`语句中`case`后面跟的是______。
# 三、简答题1. 解释C语言中的指针是什么,并给出一个使用指针的示例。
2. 描述C语言中函数的作用,并给出一个自定义函数的示例。
3. 什么是C语言中的结构体?请简述其用途。
# 四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和、差、积、商。
大一计算机c语言考试题及答案一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准输入输出函数?A. printfB. scanfC. coutD. getchar答案:C3. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = {H, e, l, l, o, '\0'};答案:A4. 下列哪个选项是C语言中的合法整数?A. 012B. 0x1AC. 0.1D. 0xG答案:B5. 在C语言中,以下哪个选项是正确的数组定义?A. int a[5] = {0, 1, 2, 3, 4};B. int a[] = {0, 1, 2, 3, 4};C. int a[5] = {0, 1, 2};D. int a[] = {0};答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个函数的关键字是______。
答案:void2. 在C语言中,表示逻辑与的运算符是______。
答案:&&3. C语言中,用于定义一个字符常量的是______。
答案:''4. C语言中,用于定义一个整型变量的关键字是______。
答案:int5. 在C语言中,用于定义一个指针变量的关键字是______。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中变量的作用域。
答案:变量的作用域是指变量可以被访问的代码区域。
局部变量的作用域是定义它的函数或代码块,全局变量的作用域是整个程序。
2. 解释C语言中的指针是什么?答案:指针是C语言中的一种数据类型,它存储的是变量的内存地址,而不是变量的值。
大一c语言考试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言可以用于系统编程C. C语言不支持面向对象编程D. C语言的源代码文件扩展名是.cpp答案:D解析:C语言的源代码文件扩展名是.c,而不是.cpp,后者是C++的源代码文件扩展名。
2. 在C语言中,以下哪个关键字用于定义一个函数?()A. returnB. functionC. defineD. void答案:D解析:在C语言中,void是用于定义函数的关键字,例如:void functionName()。
二、填空题1. 在C语言中,用于声明一个整型变量的关键字是______。
答案:int2. 若定义一个变量x,其值为10,正确的声明语句是______。
答案:int x = 10;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一个数据结构,用于存储相同类型的多个元素,而指针是一个变量,它存储了另一个变量的内存地址。
数组名本身代表数组的首地址,而指针变量可以被赋值为任意地址。
2. 请解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构,从而可以创建复杂的数据结构来表示复杂的数据。
四、编程题1. 编写一个C语言程序,计算并输出1到100之间所有奇数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```解析:程序使用for循环遍历1到100的整数,通过if语句检查每个数是否为奇数,如果是,则将其加到sum变量中。
c语言大一考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. variable答案:A2. C语言中,用于定义一个整型变量的关键字是?A. floatB. doubleC. intD. char答案:C3. 以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C4. 在C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. >D. <答案:A5. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. $variableD. variable!答案:B6. C语言中,用于定义一个字符型变量的关键字是?A. intB. charC. floatD. double答案:B7. 在C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. puts()D. getc()答案:C8. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C9. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D10. 下列哪个选项是C语言中合法的注释?A. // This is a commentB. /* This is a comment */C. <!— This is a comment —>D. # This is a comment答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并赋值为10的语句是:________。
答案:int a = 10;2. C语言中,用于计算两个数相加的函数是:________。
答案:sum()3. 在C语言中,用于输出一个整数的函数是:________。
(一)项目二数据类型、运算符和表达式选择题:1. 不合法的C语言整型A. –012B. 0x35C. 123LD. 8E22. 不合法的C语言实型A. E3(E前后都要有数,E后要整数)B. .123C. –6.2E4D. 5.03. 不合法的CA. ´2´B. ´\101´C. ´AB´D. ´\n´4.A) W P_0 doB) b-a goto int (前者使用减号,后两者是关键字)C) float la0 _AD) -123 abc TEMP5.A) ‘\”’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘xlf’6. 定义三个变量a、b、c,并分别赋初值为5A. int a=b=c=5;(变量声明不能连续赋值,赋值语句中可以连续赋值)B. int a,b,c=5;C. int a=5,b=5,c=5;D. int a=5;b=5;c=5;7. 若x,y,t均为int类型,则执行语句x=y=3;t=++x||++y;后,yA. 不定值B. 4C. 1D. 38.若x、i、j、k都是int型变量,则计算下面表达式后,xx=(i=4,j=16,k=32) (x值为最后变量的值)A) 4 B) 16 C) 32 D) 529.设有说明:char w; int x; float y; double z;则表达式w*x+z-yA) float B) char C) int D) double10.设以下变量均为int类型,则值不等于7A) (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)填空题:1.若有定义int m=5,y=2;,则计算表达式y+=y-=m*=y后的y2.若s是int型变量,且s=6,则表达式s%2+(s+1)%23. 若a是int型变量,则表达式(a=4*5,a*2),a+64.若x和a均是int型变量,则计算表达式x=(a=4,6*2)后的x计算表达式x=a=4,6*2后的x5. 若a是int型变量,则计算表达式a=25/3%3后a6.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x n7. 若有定义:char c=‘\010’;则变量c8.若有定义:int x=3,y=2;float a=2.5,b=3.5;(x+y)%2+(int)a/(int)b9. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3阅读题:(写出程序运行结果)1. #include <stdio.h>main(){ int x=97; char y=’b’;printf(“%c,%d ”, x, y) ;}a,982. #include <stdio.h>main(){ int x=6;x+=x-=x*x ;printf(“x=%d\n”, x) ;}x=-603. #include <stdio.h>main(){ int x;(x=4*5,x*5),x+25;printf(“x=%d\n”, x) ;}x=204. #include <stdio.h>main(){ int i=1,j;j= -i++;printf(“%d\n”, j) ;}-1编程题:(顺序结构编程)1. 输入华氏温度,输出摄氏温度。
C=5/9*(F-32)4. 从键盘输入学生的三门考试成绩,计算并输出平均成绩。
(二)项目三C语言程序控制结构选择题:1、下列for循环的循环次数是(无限次)。
int i=0,j;for (j=10;i=j=10;i++,j--)printf(”ok”);2、下列for循环的循环次数是( B )。
int i=0,j=0;for(;!j&&i<=5;i++)j++;A.5次B.1次 C.无限 D.6次3、语句for(i=0,j=0;i<=100;i++)j=j+i;运行后j的值为( D )。
A、500B、100C、5000D、50504、有以下程序:#include <stdio.h>main(){char c;while((c=getchar())!='?') putchar(--c); }程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为( D )A、 YB、 XYC、 YXD、 X5.下面的程序段执行时,若从键盘输入5,则输出为( D )。
int a;scanf(”%d”,&a);if (a-->5)printf(”%d\n”,a++);else printf(”%d\n”,a); A.7 B.6 C.5 D.46.若int a=5;则执行下列语句后打印的结果为( A )。
do{printf (“%2d\n”, a--);} while (!a);A.5 B.不打印任何结果 C.4 D.陷入死循环7.语句for(i=0,j=0;i<=100;i++)j=j+i;运行后j的值为( D )。
A.500 B.100 C.5000 D.50508.下面程序段的运行结果是___D_______.int n=0;while(n++<=2);printf("%d",n);a)2 b)3 c)4 d)有语法错9.若i为整型变量,则以下循环执行次数是__B___.for(i=2;i==0;)printf("%d",i--);a)无限次 b)0次 c)1次 d)2次10.执行语句for(i=1;i++<4; );后变量i的值是__C____.a)3 b)4 c)5 d)不定填空题:1、若输入字符串:abcdef<回车>,则以下whileWhile((ch=getchar( ))= =’d’) printf(“**”);2i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(i<=10);printf("a=%d",a);3. 以下程序中,while语句的循环次数是____无限次____。
#include <stdio.h>main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}printf(“%d”,i);}4.下面程序的功能是用"辗转相除法"求两个正整数的最大公约数。
请填空。
#include <stdio.h>main(){int r,m,n;scanf("%d%d",&m,&n);if(m<n)_______;r=m%n;while(r){m=n;n=r;r=___ m%n ___;}printf("%d\n",n);}5. 执行以下程序后,输出“#”的个数是___6____。
#include <stdio.h>main(){ int i,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)putchar(“#”);}阅读题:1.#include <stdio.h>main(){ int y=10;do{y--;}while(--y);printf("%d\n",y--);}2. #include <stdio.h>main(){ int x=15;while(x>10&&x<50){ x++;if(x/3){x++;break;}else continue;}printf("%d\n",x);}173. #include <stdio.h>main(){int a=1,b=0;for( ; a<3; a++)switch(a++){ case 1:b--;break;case 2:b++;case 3:b+=3;}printf("%d\n",b);}-14. #include <stdio.h>main(){int s,i;for(s=0,i=1 ; i<3 ; i++,s+=i) ; printf("%d\n",s);}5编程题:1. 计算s=1+1/2+1/3+……+1/n。
2.求和:从1加到1003. 如果0<n<17, 使之能正确地计算n!4. 从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
5. 从键盘输入一个大于1的整数,输入是否为素数,是,则输出“YES”,否则输出“NO”。
(三)项目四数组选择题:1.若二维数组a有m列,则在a[i][j]前的元素个数为___B_____.a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+12.以下对二维数组a的正确说明是___C_____.a)int a[3][]; b)float a(3,4); c)double a[1][4]; d)float a(3)(4); 3.若有说明:int x[][3]={1,3,5,7,9,11};,则x数组的行数为__A_____。
A.2B.3C.4D.无确定值4.若有以下定义int a[ ]={1,2,3,4,5,6,7};char c1=’b’,c2=’2’;则数值不为2的表达式是_____A_____。
A.c2-0B.a[1]C.’d’-c1D.a[‘3’-c2]5.以下程序的输出结果是_____B______。
main( ){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=0;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(“%d\n”,s);}A.18B. 19C. 20D. 216.有两个字符数组a、b,则以下正确的输入语句是___BC____.a)gets(a,b); b)scanf("%s%s",a,b);c)scanf("%s%s",&a,&b); d)gets("a"),gets("b");7.当执行下面的程序时,如果输入ABC,则输出结果为____A_____。