C语言程序设计模拟试题8(附答案)
c语言程序设计模拟试题

c语言程序设计模拟试题C语言程序设计模拟试题一、选择题(每题2分,共20分)1. C语言中,以下哪个不是合法的变量名?- A. 2variable- B. Variable2- C. variable_2- D. Variable2. 在C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World"- B. 'Hello, World'- C. "Hello World"- D. {"Hello", "World"}3. 以下哪个不是C语言中的基本数据类型?- A. int- B. char- C. float- D. string4. 在C语言中,以下哪个不是运算符?- A. +- B. -- C. *- D. to5. 以下哪个语句是正确的C语言循环语句?- A. do { ... } while;- B. while { ... }- C. for { ... }- D. switch { ... }6. 以下哪个函数是C语言标准库中用于字符到整数的转换? - A. atoi()- B. itoa()- C. atof()- D. strtol()7. 在C语言中,以下哪个不是控制语句?- A. if- B. switch- C. continue- D. return8. 在C语言中,以下哪个是正确的函数声明?- A. int function_name();- B. function_name int;- C. int function_name = 0;- D. int function_name = function();9. 在C语言中,以下哪个是正确的数组声明?- A. int array[10];- B. int [10] array;- C. int array = 10;- D. int array[10] = {0};10. 在C语言中,以下哪个是正确的结构体声明?- A. struct Student { int age; char name[50]; };- B. struct { int age; char name[50]; } Student;- C. Student struct { int age; char name[50]; };- D. struct Student int age; char name[50];二、填空题(每空2分,共20分)1. 在C语言中,一个变量的声明必须在______。
大学C语言程序设计试题含答案

大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。
C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。
它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。
2. C语言的基本数据类型有哪些?请列举并简要说明其特点。
C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。
3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。
变量是用于存储和表示数据的一种方式,可以根据需要改变其值。
在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。
常量是固定不变的值,不能改变其值。
在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。
常量在程序执行过程中保持不变。
二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。
```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;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。
C语言模拟试卷及答案

C语言程序设计模拟试题一、单项选择题(请把答案填在每个题的括号内,每小题2分,共30分)1.对于一个正常运行的C程序,以下叙述中正确的是()A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序中的第一个函数开始,程序的最后一个函数中结束2.设变量均已正确定义,若要通过scanf("%d%c,%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符'X'和'Y'。
以下所示的输入形式中正确的是()(注:口代表空格字符)A)10X,20Y<回车>B)10口X20口Y<回车>C)10口X<回车>20口Y<回车>D)10X<回车>20Y<回车>3.以下定义语句中正确的是()A)char a='A'b='B';B)float a=b=10.0;C)int a=10,*b=&a;D)float*a,b=&a;4.下列选项中,不能用作标识符的是()A)_main B)a1C)int_2_D)2_int_5.下列选项中,合法的C语言关键字是()A)VAR B)cher C)integer D)default6.为表示关系z≥y≥x,应使用C语言表达式()A)(z>=y>=x)B)(z>=y)AND(y>=x)C)(z>=y)&&(y>=x)D)(z>=y)&(y>=x)7.有以下程序段:int k=0,a=1,b=2;k=a<b?b:a;执行该程序段后,k的值是()A)3B)2C)1D)08.C语言中用于结构化程序设计的三种基本结构是()A)if、switch、break B)顺序结构、选择结构、循环结构C)for、while、do-while D)break、for、continue9.若int i;则语句:for(i=2;i==0;)printf("%d",i--);的循环执行次数是()A)无限次B)0次C)1次D)2次10.在循环结构的循环体中执行break语句,其作用是()A)结束本次循环,进行下次循环B)继续执行break语句之后的循环体中各语句C)跳出该循环体,提前结束循环D)终止程序运行11.已定义int a[10],i;以下能正确为a数组元素进行赋值的语句是()A)for(i=0;i<10;i++)scanf("%d",a[i]);B)for(i=0;i<=10;i++)scanf("%d",a[i]);C)for(i=0;i<10;i++)scanf("%d",&a[i]);D)for(i=1;i<=10;i++)scanf("%d",&a[i]);12.以下能正确定义二维数组的是()A)int a[][3];B)int a[][3]={{2,3},{4}};C)int a[][3]={};D)int a[2][3]={{1},{2},{3,4}};13.s1和s2已正确定义并分别指向两个字符串。
c语言程序设计试题及答案

c语言程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C3. 下列选项中,不属于C语言中基本数据类型的是()。
A. intB. floatC. charD. string答案:D4. 在C语言中,表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. &答案:A5. C语言中,用于定义函数的关键字是()。
A. funcB. functionC. defD. void答案:B6. C语言中,用于表示“不等于”的运算符是()。
A. ==B. !=C. =D. <=答案:B7. 在C语言中,用于定义数组的语法是()。
A. int a[10];B. int a=10;C. int a;D. int a(10);答案:A8. 下列关于C语言中指针的描述,错误的是()。
A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的元素D. 指针本身没有数据类型答案:D9. C语言中,用于输入输出的库函数是()。
A. printfB. scanfC. coutD. cin答案:B10. 在C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量的关键字是______。
答案:int2. C语言中,用于定义一个字符型变量的关键字是______。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是______。
答案:float4. C语言中,用于定义一个双精度浮点型变量的关键字是______。
C语言程序设计模拟题(含答案)

C语言程序设计模拟题(含答案)C语言程序设计试题一、单项选择题(本题共25小题,每小题2分,共50分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。
错选、多选或未选均无分。
1. 以下正确的C语言自定义标识符是__A____。
A. _1aB. 2a_C. doD. a.122. 在C语言中,错误的常数表示是___D____。
A. 0LB.-0x6aLC. '6'D. 1.234E3.53. 设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是___B____。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是___C______。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,字符串"\\TOP\t\65\""的长度是__B_____。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是___C_____A_。
A. scanf("%5f",&x)B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.逗号表达式a=2*6,a*3,a+5的值是___B______。
A. 12B. 17C.36 D. 418. C语言程序中,整型常量的书写形式不包括___A______。
A. 二进制B. 八进制C. 十进制D. 十六进制9. 在C语言中,下列运算符中结合性属于自右向左的是________B_。
电大《C语言程序设计》2019-2020模拟试卷及答案

《C语言程序设计》2019-2020模拟试卷及答案一、单项选择题。
把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是()。
DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。
AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。
BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。
CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。
BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。
CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。
BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
AA. warningB. errorC. warnD. err10. 在C语言中,表示换行符的转义字符为()。
CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。
BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。
BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。
CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。
DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。
C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10) 8练习参考答案1、练习8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。
解答:#includeintmain(void){floatop1,op2,um,diff;voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_d iff(op1,op2,&um,&diff);printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}voidum_diff(floatop1,floatop2,float某pum,float某pdiff){某pum=op1+op2;某pdiff=op1–op2;}8-3.两个相同类型的指针变量能不能相加?为什么?解答:不能。
因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。
8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。
请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。
解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。
C语言程序设计_习题大全(含答案)

C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。
在学习这门课程过程中,习题的练习和掌握是至关重要的一环。
本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。
第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。
答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个C程序,将两个整数相加并输出结果。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。
C语言程序设计模拟试题8(附答案)

本文由2009220176贡献 doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
《C 语言程序设计》模拟试卷八 3. 下列保留字中用于构成循环结构的是【】 A. if int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf(″﹪d \ n″,a[1][0] + b[0][0]);} 后输出的结果是【】 A. 0 B. 1 C. 2 D. 3 8. 执行下列程序 int a = 3, b = 4; void fun(int x1, int x2) {printf(″﹪d, ﹪d \ n″, x1 + x2, b);} main() {int a = 5, b = 6;fun(a, b);} 后输出的结果是【】 A. 3,4 B. 11,1 C. 11,4 D. 11,6 9. 将一个整数 10002 存到磁盘上, ASCII 码形式存储 以 和以二进制形式存储,占用的字节数分别是【】 A. 2 和 2 B. 2 和 5 C. 5 和 2 D. 5 和 5 10.执行如下程序 main() { int *p,a[10]; a[0]=10;a[1]=20; p=a; printf(“%d”,*(p++));} 则输出结果【】 A. 10 B. 20 C. 40 D . 无法确定 三、按给出的程序功能,在空格处,填写正确的程序语 按给出的程序功能,在空格处, 句,使程序完整。
(每题 6 分,共 18 分) 使程序完整。
(每题 。
( 1. 以下程序的功能是用选择法对数组 a 中的整数由小到 大进行排序。
void sort(int b[],int n) { int i,j,t; for(i = 0;i<n - 1;i ++ ) for(;j<n;j ++ ) if(b[i]b[j]) 一、填空题。
(每空 2 分,共 10 分) 填空题。
c语言模拟考试题及答案

c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。
答案:continue4. C语言中,使用________关键字可以立即退出循环。
C语言程序设计(第3版)-参考答案 (8)

参考答案第 8 章字符、字符数组与字符串一、选择题二、编程题略。
习题一、选择题(1)char类型的变量存储时占据( A )个字节。
A)1 B)2 C)4 D)8 (2)以下选项中,不合法字符常量的是( C )。
A)'\\ ' B)'\xbb' C)'\019' D)'c' (3)已定义变量char c,( C )不能正确地给该变量赋值。
A)c=97 B)c='A' C)c=''B'' D)c='A'+6 (4)以下关于输入输出格式说明符的说法正确的是( A )。
A)%c是char数据的输入输出格式符B)%d是char数据的输入输出格式符C)%s是char数据的输入输出格式符D)%f是char数据的输入输出格式符(5)已知数字字符'0'的ASCII值为48。
以下程序运行后的输出结果是( B )。
#include<stdio.h>void main(){ char a='4',b='5';b=b+2;printf("%c,",b);printf("%d",b-a);}A)5,4 B)7,3 C)5,1 D)4,5 (6)以下选项中,( B )是正确的字符串。
A)'hello' B)"hello " C)hello D)'h' (7)以下语句中,( D )能够正确定义字符数组并存入字符串。
A)char str[]={'\064'}; B)char str="kx43";C)char str=''; D)char str[]="\0";(8)已有定义char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是( C )。
C语言程序设计模拟试题全解

这是往年的一份考试题,因为今年是上机考试,所以参考价值并不大.大家简单看看相关知识点的出题方式即可.《C语言程序设计》模拟试卷一、单项选择题(本大题共20题,每题2 分,共40分)1、若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a==b;++a,++b)printf ( “ ------------“) ;的正确说法是。
A、循环体只执行一次B、死循环C、循环体一次也不执行D、输出-----------2、若x、y、z均为int 型变量,则执行下列语句后的z值为。
x=4; y=2; z=1; z=(x<y)?z :y ; z = (z<y)?z:x;A、1B、4C、2D、33、‘D’ + 32- 2的结果是。
A、’d’B、’d’的ASCⅡ码C、’a’D、’b’的ASCⅡ码4、下面标识符中,合法的用户标识符为。
A、P#AdB、12aC、charD、_int5、语句char str[20];说明str是一个字符串,最多能表示。
A、20个字符B、21个字符C、18个字符D、19个字符6、将整型表达式x+y+z的结果转换成float型变量的方法是。
A、float x+y+zB、(float) x+y+zC、float(x+y+z)D、(float)(x+y+z)7、以下不正确的描述是。
A、使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B、while循环是先判断表达式后执行循环体语句C、do-while和for循环均是先执行循环体语句,后判断表达式D、for、while、do-while循环中的循环体均可以由空语句构成8、在循环中使用continue 语句的功能是。
A、使程序的执行跳出continue所在的那一重循环B、使程序执行结束C、跳出包含此continue语句的所有循环D、终止本次循环,继续下次循环9、下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是。
c语言模拟试卷及答案

《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( ) 函数。
3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址。
6.int a=3,*p=&a;*p+2的值是5。
二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。
2.(A)3_sy45 (B)su_m (C)@123 (D)3D643.一个程序的执行是从。
4.(A)本程序的main函数开始,到main函数结束5.(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
6.(C)本程序的main函数开始,到本程序文件的最后一个函数结束。
7.(D)本程序文件的第一个函数开始,到main函数结束。
8.以下叙述正确的是。
9.(A)在C程序中,main函数必须位于程序的最前面。
10.(B)C程序每行中只能写一条语句。
11.(C)C语言本是没有输入输出语句。
12.(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
13.以下叙述不正确的是。
14.(A)逗号运算符的运算级最低。
15.(B)ABC和abc是两个不同的变量。
16.(C)若a和b类型相同,在执行a=b后,b的自身值不变。
17.(D)‘a’和“a”是完全等价的常量。
18.int x=3,y=2;则表达式x+=x*=y+8的值为。
19.(A)28 (B)30 (C)60(D)1720.在c语言中,变量的隐含存储类别是。
21.(A)auto (B)static (C)extern (D)无存储类别22.执行下面两个语句后,输出的结果为_____。
23.char c1=98;24.printf(“%d %c”,c1,c1-32);25.(A)97 66 (B)98 b (C)b 66 (D)98 B26.执行下面语句后的结果为。
2014年9月二级C语言程序设计模拟(8)试题及答案

2014年9月二级C语言程序设计模拟(8)试题及答案单项选择题1.下列关于栈和队列的描述中,正确的是( )。
A:栈是先进先出B:队列是先进后出C:队列允许在队头删除元素D:栈在栈顶删除元素参考答案: D 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 栈实际也是线性表,只不过是一种特殊的线性表。
栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。
队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。
2.已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是( )。
A: ABCDEB: ECABDC: EACDBD: CDEAB参考答案: C 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 由于后序遍历的最后一个元素为E,所以E为根结点,所以它的前序遍历的首个元素为E,故排除A)和D)选项。
由于中序遍历中,元素B在元素根结点E的后面,所以B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为B,故选项C)为正确选项,即该二叉树的前序遍历序列是EACDB。
3.在数据流图中,带有箭头的线段表示的是( )。
A:控制流B:数据流C:模块调用D:事件驱动详细解答: 数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
4.结构化程序设计的3种结构是( )。
A:顺序结构,分支结构,跳转结构B:顺序结构,选择结构,循环结构C:分支结构,选择结构,循环结构D:分支结构,跳转结构,循环结构参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。
C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。
C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案) C语言程序设计习题集(有答案)C语言是一门广泛应用于软件开发和系统编程领域的计算机程序设计语言。
掌握C语言编程的基础知识和技能对于从事相关行业的人来说至关重要。
为了帮助读者加深对C语言的理解和应用,本文提供了一份C语言程序设计习题集,每道习题都附有答案,供读者参考和自我检测。
1. 输入输出问题描述:编程实现一个简单的输入输出程序。
要求从标准输入读入一个整数,然后输出该整数,并换行。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);printf("%d\n", num);return 0;}```2. 条件判断问题描述:编写一个程序,判断一个给定的整数是否为偶数。
如果是偶数,则输出"Even",否则输出"Odd"。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```3. 循环结构问题描述:编写一个程序,计算并输出1到100之间所有偶数的和。
解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum: %d\n", sum);return 0;}```4. 数组问题描述:编写一个程序,从键盘输入5个整数,然后按照输入的顺序将它们输出。
C语言程序设计模拟试卷及答案

计算机科学类专业《C语言程序设计》模拟考试试卷(满分100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1、下列选项中,合法的C语言标识符是()。
A)my_name B)$234 C)my name D)23b2、以下程序的输出结果是()。
void main(){int x,y;float z;x=2; y=10;z=x/y;printf("%f",z);}A)0.200000 B)0.2 C)0.000000 D)03、C语言规定,简单变量做实参时,它与对应形参之间的数据传递是()。
A)地址传递 B)只能把实参的值单向传递给形参C)由用户指定传递方式 D)由实参传给形参,再由形参传回给实参4、有以下程序段int m=0,n=0; char c;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);程序输出结果是:1,X,2。
则从键盘上可能的输入是()。
A)1X2<回车> B)1 X 2<回车>C)1,X,2<回车> D)1<回车>X<回车>2<回车>5、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()。
A)int a,b,c; a=b=c=5; B)int a=5,b=5,c=5;C)int a=5;b=5;c=5; D)int a=5,b=a,c=b;6、设变量n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。
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.07、以下程序段的功能是计算一个整数的各位数字之和,请选择填空。
C语言程序设计试卷含答案

C语言程序设计试卷含答案一、选择题(共20题,每题2分,共40分。
下面每题后面用小括号内标注了正确答案)1. 下列关键字中,用于定义变量的是(A)A. intB. ifC. whileD. for2. 变量的作用域是指变量的(C)A. 大小B. 类型C. 可访问范围D. 值3. 下列语句中,用于输出字符的是(B)A. scanfB. printfC. inputD. output4. 已知整型变量a和b,那么a += b; 等价于(D)A. a = a + b;B. a -= b;C. a = a - b;D. a = a + b;5. 在C语言中,用于表示“不等于”的运算符是(C)A. =B. ==C. !=D. >=6. 下面哪个for循环语句是正确的(A)A. for(int i=0; i<10; i++)B. for(int i<10; i++)C. for(int i=0; i<10)D. for(i=0; i<10; i++)7. 下列选项中,表示“或”运算符的是(D)A. &B. &&C. |D. ||8. 在C语言中,用于声明宏定义的关键字是(B)A. defineB. #defineC. constD. int9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)A. if(n > 0)B. if(n => 0)C. if(n < 0)D. if(n <= 0)10. 下列哪个不是C语言的基本数据类型(D)A. intB. floatC. charD. string11. 下列关键字中,用于定义函数的是(C)A. mainB. includeC. voidD. for12. 在C语言中,表示“或者”的条件语句是(B)A. ifB. else ifC. switchD. while13. C语言中的“++”运算符表示(A)A. 自增B. 自减C. 相加D. 相减14. 下列哪个语句用于在C语言中声明字符类型的变量(C)A. String name;B. var name;C. char name;D. character name;15. 下列哪个不是C语言的关键字(D)A. enumB. longC. doubleD. true16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)A. exitB. breakC. endD. continue17. 下列哪个函数用于从标准输入读取一个整数(A)A. scanfB. printfC. getsD. puts18. 在C语言中,用于声明一个指针变量的关键字是(A)A. int*B. pointC. newD. pointer19. 下列哪个运算符用于获取变量在内存中的地址(B)A. &B. *C. #D. %20. 下列哪个函数调用可以输出字符串(A)A. printf("Hello World!");B. scanf("Hello World!");C. gets("Hello World!");D. puts("Hello World!");二、填空题(共5题,每题4分,共20分。
湖北经济学院2021年《C语言程序设计》专升本精选模拟(八)

30、设有定义 struct person {
int id; char name[12];
第7/12页
} p; 请将scanf("%d", ________ ); 语句补充完整,使其能够为结构体变量p的 成员id正确读入数据。
得分 评卷人 三、简答题 (共3题,每题分值不等,共计40分)
31、编写程序:把数组a(大小为100)中前n个元素中的最大值放入a的最后一个元素中,n的值由 键盘输入 (本题10分) 32、编写程序:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 (本题 14分) 33、编写程序:编程实现输入5个学生的学号、计算他们的期中和期末成绩,然后计算其平均成 绩,并输出成绩表 (本题16分)
A、3 5 5 3
第3/12页
B、5 3 3 5
C、3 5 3 5
D、5 3 5 3 ( )11、语句int (*ptr)();
的含义是______。
A、ptr 是指向一维数组的指针变量
B、ptr 是指向int 型数据的指针变量
C、ptr 是指向函数的指针,该函数返回一个int 型数据
D、ptr 是一个函数名,该函数的返回值是指向int 型数据的指针 ( )12、若有以下定义: int a[10],*p=a;
struct data {
int a; float b; } c,*p=&c; ,引用正确的是________。
A、*p.a
B、p.b
C、p->a
D、*p->b ( )15、以下程序的输出结果是________。
main( ) {
int i=010, j=10, k=ox10; printf(''%d,%d,%d\n'',i,j,k); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》模拟试卷八一、填空题。
(每空2分,共10分)1.实数在语言中又称2.表达式a = 1,a + 1,a + + 的值是___________________。
3. 设int i = 5;则循环语句while (i > = 1) i - -;执行后,i的值为_______________。
4.设char string[] =″This_is_a_book!″;则数组的长度应是________________。
5.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。
二、单项选择题。
(每题2分,共在 20分)1. C语言程序编译时,程序中的注释部分【】A. 参加编译,并会出现在目标程序中B. 参加编译,但不会出现在目标程序中C. 不参加编译,但会出现在目标程序中D. 不参加编译,也不会出现在目标程序中2.下列表达式的值为0的是【】A. 3﹪5B. 3/5.0C. 3/5D. 3<53. 下列保留字中用于构成循环结构的是【】A. ifB. whileC. switchD. default4. 与语句if(a>b) if(c>d)x = 1;else x = 2;等价的是【】A. if(a>b){if(c>d) x = 1;else x = 2;}B. if(a>b){if(c>d) x = 1;} else x = 2;C. if((a>b) && (c>d)) x = 1;else x = 2;D. if(a< =b) x = 2;else if (c>d) x = 1;A. x = a,y = 97B. x = 97,y = aC. x = 97,y = 97D. x = a,y = a6. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是【】A. 2B. 3C. 4D. 无确定值7.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf(″﹪d \ n″,a[1][0] + b[0][0]);}后输出的结果是【】A. 0B. 1C. 2D. 38. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2){printf(″﹪d, ﹪d \ n″, x1 + x2, b);}main(){int a = 5, b = 6;fun(a, b);}后输出的结果是【】A. 3,4B. 11,1C. 11,49. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是【】A. 2和2B. 2和5C. 5和2D. 5和510.执行如下程序main(){ int *p,a[10];a[0]=10;a[1]=20;p=a;printf(“%d”,*(p++));}则输出结果【】A. 10B. 20C. 40D . 无法确定三、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。
(每题6分,共18分)1. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。
void sort(int b[],int n){ int i,j,t;for(i = 0;i<n - 1;i ++ )for(______;j<n;j ++ )if(b[i]_____b[j]){t = b[i];_____________;b[j]=t;}}main(){ int a[]={5,8,6,2,7,4,1,3};int i;for(i = 0;i<8;i ++ )printf(″﹪5d″,a[i]);printf(″\ n″);}2. 输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。
# include ″stdio.h″main(){ char c;int ___________________________;while((c = getchar())! =′\ n′){if(__________________________)digit + + ;else if(c = =′′‖c = =′\ t′) ++ blank;else __________________________;}printf(″digit =﹪d,blank =﹪d,other =﹪d \ n″,digit,blank,other);}3. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。
main(){int i,x,a[10];for(i = 0;i<10;i ++ )scanf(″﹪d″,___________);scanf(″﹪d″,&x);printf(″﹪d″,x);for(i = 0;i<10;i ++) if(_________________)break;if (i _________10)printf(″ position:﹪d \ n″,i);else printf(″ Not found! \ n″,x);}四、按要求编写下列程序。
(1-4题每题10分,第5题12分,共52分)2. 打印所有的水仙花数。
3.编写一程序,将两个字符串连接起来。
不要用strcat函数。
4.打印出扬辉三角(打印10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 15.写一函数,使给定的一个二维数组(3╳3)转置。
模拟试卷八答案:一、填空三、程序填空四、编写程序题1、#include "stdio.h"main(){int a[10],m,n,t,i;m=1;n=2;for (i=0;i<20;i++){a[i]=n/m;t=n;n=m+n;m=t;}for(i=0;i<20;i++)printf("%d\n",a[i]);}2、#include "stdio.h"main(){int i,j,k;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)if (i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%d\n",i*100+j*10+k);}3、#include "stdio.h"main(){char a[80],b[40];int i=0,j=0;scanf("%s",a);scanf("%s",b);while (a[i]!='\n')i++;i--;while(b[j]!='\n')a[i++]=b[j++];i--;a[i]='\n';printf("%s",a);}4、#include<iostream>using namespace std;void main(){int a[10][10];int i, j;for( i = 0; i< 10; i++)for(j=0; j<10; j++){if(i == j) a[i][j] = 1;else if(j == 0) a[i][j] = 1;else a[i][j] = 0;}for( i = 1; i < 10; i++)for(j = 1; j<10; j++)a[i][j] = a[i-1][j-1] + a[i-1][j];for(i = 0; i < 10; i++){for(j = 0; (j < 10) && a[i][j] != 0; j++)cout<<a[i][j]<<" ";cout<<endl;}}5、#define N 3int array[N][N];void convert(int array[3][3]) /*函数类型可定义为void,也可用默认的int*/ {int i,j,t; /*因为函数形实参是数组,按地址传递*//*两个数组所用空间相同,函数无需返回值*/for(i=0;i<N;i++)for(j=i+1;j<N;j++) /* j=i+1防止两元素对调后再次恢复原位*/{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}main(){int i,j;void convert(int [][]); /*注意此处的[ ][ ] 形式,表明是二维数组*/printf("Input array:\n"); /* 因为函数原型处仅检查形参个数、类型名、for(i=0;i<N;i++) /* 顺序,而不检查形参名。
所以只写成[ ][ ] 形式for(j=0;j<N;j++) /* 即可。
仅对void时如此,对int似乎不成立?*/ scanf("%d",&array[i][j]);printf("\noriginal array:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",array[i][j]);printf("\n");}convert(array);printf("convert array:\n"); for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",array[i][j]); printf("\n");}}。