C语言复习60题

合集下载

C语言复习60题

C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。

02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。

04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。

B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。

D、__int。

09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。

C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。

12写出下式的运算结果:10/3*3、0正确答案是:9、0。

C语言复习卷带答案

C语言复习卷带答案

姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。

…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。

A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。

A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设a 、b 、c 、d 、m 、n 均为int 型变量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值为( C )。

A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。

A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。

C语言复习

C语言复习

判断题1.函数若无返回值,则它一定无形参。

×2.在C 程序中, 函数既可以嵌套定义, 也可以嵌套调用。

×3.C程序总是从main( ) 函数的第一条语句开始执行的。

√4.同一函数内可以有多个return语句。

√5.main函数中的变量名不可以与其它函数相同。

×6.C程序可由多个函数组成,但必须有并且只有一个主函数main。

√7.在C语言中的每个函数必须要有一个明确的return语句才能返回调用程序。

×8.主函数中定义的变量的作用域仅限于主函数内。

√9.传值调用的形参只有在被调用时,才被创建(分配存储单元)。

√10.C程序执行总是从第一个函数开始。

×11.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。

×12.被main函数调用的函数只能是库函数。

×13.函数说明指的是在程序中设定一个函数模块。

×14.在C程序中,若对函数类型未加说明,则函数的隐含类型为void。

×15.形参可以是常量、变量或表达式。

×16.函数调用可以作为一个函数的形参。

×17.C语言规定,实参应与其对应的形参类型一致。

√18.定义函数时,形参的类型说明可以放在函数体内。

×19.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。

√20.全局变量可以被任何一个函数中的任何一个表达式使用。

×21.函数的隐含存储类型是extern。

√22.定义在main函数后的任何函数都需在main中进行函数声明。

×23.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。

×24.C语言中数组名是指针常量。

√25.构成数组的各个元素必须具有相同的类型。

√26.数组元素的下标可以选用正整数或正实数。

×27.数组名可以作为参数进行传递。

√28.若有定义“int a[4][5];”,则在数组元素a[3][3]前有12个元素。

c语言经典题目100题

c语言经典题目100题

1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。

C语言编程练习60题

C语言编程练习60题

综合编程题1.编写函数fun求1000以内所有7的倍数之和。

int fun(int m){ }2.用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。

#define N 3int sum(int a[][N]){ }3.编写函数fun,函数的功能是:求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。

int fun(int a[],int n){ }4.编写函数fun,函数的功能是:求给定正整数m以内的素数之和。

例如:当m=20时,函数值为77。

int fun(int m){ }5.求一批数中最大值和最小值的差。

int max_min(int a[],int n){ }6.编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。

每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。

例如:求前20项之和的值为32.660259。

float fun(int n){ }7.编写函数fun,函数的功能是:求一个四位数的各位数字的立方和int fun(int n){ }8.编写函数fun,函数的功能是:求1到100之间的偶数之积。

double fun(int m){ }9.计算并输出high以内最大的10个素数之和,high由主函数传给fun函数,若high的值为100,则函数的值为732。

10. 将一个字符串中的前N个字符复制到一个字符数组中去,不许使用strcpy函数。

练习题:2:将一个数组中的元素按逆序存放。

#define N 7main (){static int a[N]={12,9,16,5,7,2,1},k,s;printf("\n the origanal array:\n");for (k=0;k<N;k++)printf("%4d",a[k]);/***********SPACE***********/for (k=0;k<N/2; k++ ){s=a[k];/***********SPACE***********/a[k]=a[N-k-1];/***********SPACE***********/a[N-k-1]=s ;}printf("\n the changed array:\n");for (k=0;k<N;k++)/***********SPACE***********/printf ("%4d",a[k]);}3:产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案1. 以下不是C语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。

D、do-while循环中,根据情况可以省略while。

4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

C语言程序设计复习题

C语言程序设计复习题

C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。

A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。

A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。

A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。

A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。

A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。

A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。

A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。

A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。

A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。

C语言的简答题包含解答共60道题

C语言的简答题包含解答共60道题

C语言的简答题包含解答共60道题1. 什么是C语言?◆C语言是一种通用的编程语言,由Dennis Ritchie于1972年开发。

它被广泛用于系统编程、应用程序开发和嵌入式系统等领域。

2. 什么是C语言的注释?◆在C语言中,注释用于添加对代码的解释和说明。

有两种类型的注释:单行注释(//)和多行注释(/* */)。

3. 什么是变量?如何声明变量?◆变量是用于存储数据的标识符。

在C语言中,变量的声明包括变量类型和名称,例如:`int myVariable;`。

4. 什么是数据类型?举例说明几种C语言的数据类型。

◆数据类型定义了变量可以存储的数据类型。

一些C语言的数据类型包括int、float、char、double等。

5. 什么是C语言的关键字?◆关键字是C语言中具有特殊含义的保留字,不能用作变量名。

例如,`if`、`while`、`for`等是关键字。

6. 什么是运算符?举例说明一些C语言的运算符。

◆运算符用于执行各种数学和逻辑操作。

例如,+、-、*、/是算术运算符,==、!=、>、<是比较运算符。

7. 什么是条件语句?举例说明一个C语言的条件语句。

◆条件语句用于根据条件执行不同的代码块。

例如,`if`语句用于在条件满足时执行特定的代码块。

8. 什么是循环语句?举例说明一个C语言的循环语句。

◆循环语句用于多次执行相同的代码块。

例如,`for`循环用于按照特定条件重复执行代码块。

9. 什么是函数?如何声明和定义一个函数?◆函数是可重复使用的代码块,用于执行特定任务。

函数的声明包括函数返回类型、名称和参数列表,例如:`int add(int a, int b);`。

10. 什么是指针?如何声明和使用指针?◆指针是用于存储变量地址的变量。

指针的声明包括指针类型和名称,例如:`int *ptr;`。

要使用指针,可以使用`&`运算符获取变量的地址,使用`*`运算符访问指针指向的值。

11. 什么是C语言中的数组?◆数组是一种用于存储相同数据类型的元素集合的数据结构。

大学C语言复习题_附答案

大学C语言复习题_附答案

(A)字节 (B)位 (C)字 (D)记录 12. 因特网中某主机的二级域名为“edu” ,表示该主机属于______。C (A)赢利性商业机构 (B)军事机构 (C)教育机构 (D)非军事性政府组织机构 13. 下列字符中,其 ASCII 码值最大的是______。D (A)9 (B)D (C)a (D)y 14. 语句 printf(“%%d%d”, 123); 将输出: A、%123%d B、%%d123 √C、%d123 D、上述语句语法有错 15. 对于 int x, y; 语句 if (x<0) y= -1; else if (!x) y=0; else y=1; 等价于: A、 y=0; if (x>=0) if (x) y=1; else y= -1; √B、 if (x!=0) if (x>0) y=1; else y= -1; else y=0; C、 if (x<0) y= -1; if (x!=0) y=1; else y=0; D、 y= -1; if (x!=0) if (x>0) y=1; else y=0; 16. 语句 if (a>b) k=0; else k=1;等价于: A、k=(a>b)?1:0; B、k=a>b; √C、k=a<=b; D、以上均不是 17. 执行下列程序段: int i, j; i = 3/2 + 7/2 == 5; j = 45 % 11 + (((7>8) ? 14:21) == 14); 后变量 i,j 的值应为: √A、i=0 j=1 B、i=1 j=1 C、i=0 j=2 D、i=1 j=2 18. 如果 int i=16, j=23 ; 执行 printf("%x--%o",i, j)后输出为: A、10—23 √B、10--27 C、16--23 D、16—27 19. 若 x 是 double 型变量,n 是 int 型变量,执行 ,并输入 3 1.25 后,x=1.25, n=3。 √A、scanf("%d%lf", &n, &x); B、scanf("%lf%d", &x, &n); C、scanf("%lf%d", &n, &x); D、scanf("%d,%lf", &n, &x); 20. 若变量已经被正确定义,为表示“变量 x 和 y 都能被 3 整除” ,应使用的 C 表达式 是 。 A、(x%3 != 0) || (y%3 != 0) B、(x%3 != 0) && (y%3 != 0) C、(x%3 == 0) || (y%3 == 0) √D、(x%3 == 0) && (y%3 == 0) 21. while( ) 等价于 while(x)。 A、x == 0 √B、x != 0 C、x == 1 D、x != 1 22. 下列程序段的输出结果是 。 int count = 0, x, y, z; for(x = 1; x <= 2; x++) for(y = 1; y <= 3; y++) for(z = 1; z <= 4; z++) count++; printf("%d", count); A、10 B、9 √C、24 D、0 23. 判断变量 ch 是英文字母的表达式为 。 A、( 'a' <= ch <= 'z') || ( 'A' <= ch <= 'Z')

c语言期末复习试卷

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

C语言复习题及答案

C语言复习题及答案

C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。

A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。

A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。

A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。

A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。

A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。

A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。

A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。

A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。

A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。

A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。

A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。

A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。

A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。

A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。

C语言的简答题包含解答共80道题

C语言的简答题包含解答共80道题

C语言的简答题包含解答共80道题1. 什么是C语言?◆C语言是一种通用的、面向过程的编程语言,由Dennis Ritchie于1972年开发。

2. C语言的编译器是什么?◆GCC(GNU编译器集)是最常用的C语言编译器之一。

3. C语言中的注释用什么符号表示?◆注释使用`//` 表示单行注释,`/* */` 表示多行注释。

4. 如何在C语言中打印文本到控制台?◆使用`printf` 函数来打印文本。

5. 如何在C语言中声明一个整数变量?◆使用`int` 关键字来声明整数变量。

例如:`int myVar;`6. 如何在C语言中获取用户输入?◆使用`scanf` 函数来获取用户输入。

7. C语言中的等号(=)是什么意思?◆等号用于赋值操作,将右边的值赋给左边的变量。

8. 如何在C语言中进行条件判断?◆使用`if` 语句来进行条件判断。

9. 如何声明一个字符数组?◆使用`char` 关键字来声明字符数组。

例如:`char myString[20];`10. C语言中的数组下标从哪里开始?◆数组下标从0开始。

11. 什么是循环?◆循环是一种重复执行相同代码块的控制结构。

在C语言中,常见的循环包括`for`、`while` 和`do-while`。

12. 如何在C语言中声明一个函数?◆使用`returnType functionName(parameters)` 的语法来声明函数。

例如:`int add(int a, int b);`13. C语言中的`++` 和`--` 运算符有什么作用?◆`++` 用于增加变量的值,`--` 用于减少变量的值。

14. 如何使用条件运算符(三元运算符)?◆条件运算符的语法是`condition ? expression_if_true : expression_if_false;`。

15. 什么是指针?◆指针是一个变量,它存储了另一个变量的地址。

16. 如何声明一个指针变量?◆使用`dataType *pointerName;` 的语法来声明指针变量。

《C语言程序设计》题库及答案

《C语言程序设计》题库及答案

《C语言程序设计》复习题库1、计算下面公式的值。

T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。

(注:所有变量用float数据类型定义!)答案:1.7172、程序填空:用*号输出字母C的图案。

#include "stdio.h"#include "conio.h"main(){_____________printf(" *\n");__________________________getch();}3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。

编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。

(注:所有变量用long数据类型定义!) 答案:15334594、/*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。

请改正程序中的错误,并运行,最后给出程序运行的正确结果。

(注:只有一处错误!)*/ 答案:6591#include <stdio.h>void main(){int total=0, mc=1, k=700;int pm[10],count=0;while( (k>=2) && mc<=10 ){if ((k%13==0) || (k%17==0)){pm[mc] = k;mc++;}k--;}for( k=1;k<=10;k++ )total += pm[k-1];printf(" %d\n",total);}5、求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。

6、计算如下公式的A20值。

A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。

c语言必做100题

c语言必做100题

c语言必做100题1. 编写一个C程序,输出“Hello, World!”。

2. 编写一个C程序,计算并输出1到100的和。

3. 编写一个C程序,判断一个数是否为素数。

4. 编写一个C程序,将一个字符串反转。

5. 编写一个C程序,实现二分查找算法。

6. 编写一个C程序,实现插入排序算法。

7. 编写一个C程序,实现选择排序算法。

8. 编写一个C程序,实现冒泡排序算法。

9. 编写一个C程序,实现快速排序算法。

10. 编写一个C程序,实现希尔排序算法。

11. 编写一个C程序,将一个二维数组转置。

12. 编写一个C程序,计算一个数的阶乘。

13. 编写一个C程序,实现斐波那契数列。

14. 编写一个C程序,计算两个数的最大公约数。

15. 编写一个C程序,计算两个数的最小公倍数。

16. 编写一个C程序,计算一个数的平方根。

17. 编写一个C程序,计算一个数的立方根。

18. 编写一个C程序,实现矩阵乘法运算。

19. 编写一个C程序,实现字符串的查找和替换。

20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。

21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。

22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。

23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。

24. 编写一个C程序,实现图的深度优先搜索算法。

25. 编写一个C程序,实现图的广度优先搜索算法。

26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。

27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。

28. 编写一个C程序,实现拓扑排序算法。

29. 编写一个C程序,实现优先队列。

30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。

31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。

32. 编写一个C程序,实现最大堆排序算法。

(完整版)C语言考试题库及答案

(完整版)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语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言100题 (全)

C语言100题 (全)

C语言c语言100题经典c程序100例==1--10【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C语言程序设计复习题

C语言程序设计复习题

一、选择题:1、以下能正确定义数组并正确赋初值的语句是( D )。

A、int N=5,b[N][N];B、int a[1][2]={{1},{3}};C、int c[2][]={{1,2},{3,4}};D、int d[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是( D )。

main(){ int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--); }A、7B、 6C、5 D、43、下列四组选项中,不合法的用户标识符的选项是( D )。

A、P_0B、 _AC、temp_123D、b-a4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C )。

x=(i=4,j=16,k=32)A、 4B、 16C、 32D、 525、下列选项中哪个是合法的标识符( B )。

A、 intB、 _a2C、 b#D、 7b6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是( B )。

A、 int a=5,b=5;B、 int a=b=5;C、 int a,b;D、 int a=5,b;a=5;b=5; b=5;7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是( A)。

A、a=a+7;B、a=7+b+c,a++C、int 12.3%4D、a=a+7=a+b8、执行下面的程序时若从键盘上输入6,则输出结果是( C )。

main(){ int x;scanf("%d",&x);if(x-->5) printf("%d\n",x);else printf("%d\n",++x); }A、7B、 6C、5 D、49、设有程序段 int k=10;while(k==0) k=k-1;则下面描述中正确的是( B )。

《C语言程序设计》复习题

《C语言程序设计》复习题

《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

(B)3.注释内容太多会影响程序的执行效率。

(B)4.变量要“先定义,后使用”。

(A)5.字符常量'a'与字符串常量"a"没有区别。

(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。

(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。

(A)8.表达式5/2+5.0/2+7%6 的值为5.5。

(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。

(B)10.设int a=12; 则表达式a/=a+a的值是0.5。

(B)11.在C语言中,运算符!比&&的优先级高。

(A)12.在C语言中,运算符的优先级最小的是逗号运算符。

(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。

(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。

C语言考试题库及答案

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项。

c语言试题

c语言试题

c语言模拟试题一.选择题(60分)1.C语言规定,在一个源程序中,main函数的位置A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2.以下叙述中错误的是:A. 计算机不能直接执行用C语言编写的源程序B. C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C. 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D. 后缀为.obj和.exe的二进制文件都可以直接运行3.下列选项可以正确表示字符型常量的是:A. ′\r′B. "a"C. "\897"D. 2964.以下叙述中正确的是:A. 构成C程序的基本单位是函数B. 可以在一个函数中定义另一个函数C. main()函数必须放在其他函数之前D. C函数定义的格式是K&R格式5.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是(注:□代表空格字符)A. 10□X□20□Y<回车>B. 10□X20□Y<回车>C. 10□X<回车>20□Y<回车>D. 10X<回车>20Y<回车>6. 若有说明: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;7. 在执行下述程序时,若从键盘输入6和8,则结果为:#include <stdio.h>void main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s*=s;printf("%d",s); }A. 36B. 64C. 48D. 以上都不对8. 若执行下面的程序时,从键盘输入5和2,则输出结果是:#include <stdio.h>void main(){ int a,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b)k=a%b;else k=b%a;printf("%d\n",k);}A. 5B. 3C. 2D. 09. 在C语言中,函数返回值的类型最终取决于:A. 函数定义时在函数首部所说明的函数类型B. return语句中表达式值的类型C. 调用函数时主调函数所传递的实参类型D. 函数定义时形参的类型10. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

01 计算机本身最擅长的能力是?A.推理B.想像C.重复D.分析正确答案:C、重复。

02 计算机(CPU)可以直接运行人类编写的程序A.√B.×正确答案:B、×。

03 编程语言是和计算机交谈的语言A.√B.×正确答案:B、×。

04 关于C语言,以下说法错误的有:A.C语言是和Unix操作系统一同发展起来的B.C语言不能写图形界面的软件C.C语言一般是编译执行的D.C语言诞生于1970年代正确答案:B、C语言不能写图形界面的软件。

06 IDE的中文翻译是什么?正确答案是:集成开发环境。

07 给定:int a,b; 以下哪些scanf的使用是正确的?A.scanf("%d", &a); scanf("%d", &b);B.scanf("%d %d", &a, &b);C.scanf("%d, %d", &a, &b);D.scanf("%d %d", a, b);正确答案:A、scanf("%d", &a); scanf("%d", &b);。

B、scanf("%d %d", &a, &b);。

C、scanf("%d, %d", &a, &b);。

08 以下哪些是有效的变量名?A、main。

D、__int。

09 给定:int a,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A.1 2B.1,2C.1(回车)2D.1、2正确答案:A、1 2。

C、1(回车)2。

10 给定以下代码段:int a,b=0;则a的初始值是0A.√B.×正确答案:B、×。

11 写出下式的运算结果:10/3.0*3 正确答案是:10.0。

12 写出下式的运算结果:10/3*3.0正确答案是:9.0。

13 写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;正确答案是:14 16。

14 写出以下表达式的结果,一个结果一行:6 + 5 / 4 - 22 + 2 * (2 * 2 - 2) % 2 / 310 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 31 +2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10正确答案是:5 2 44 -627。

15 以下语句是否可以通过编译:if ( 1<=n<=10 );A.√B.×正确答案:A、√。

16 以下语句是否表示n属于[1,10]:if ( 1<=n<=10 );A.√B.×正确答案:B、×。

17 写出程序的输出结果:int i,j,k;i=5; j=10; k=1;printf("%d", k>i<j);正确答案是:1。

18 写出程序的输出结果:int i,j,k;i=2;j=3;k = i*j==6;printf("%d\n", k);正确答案是:1。

19 写出程序的输出结果:int i,j,k;i=3;j=2;k=1;printf("%d", i<j == j<k);正确答案是:1。

20 写出程序的输出:int i=1;switch ( i%3 ) {case 0: printf("zero");case 1: printf("one");case 2: printf("two");}正确答案是:onetwo。

21 写出程序的输出:int a = 58;if ( a>50 ) printf("A");if ( a>40 ) printf("B");if ( a>30 ) printf("C");正确答案是:ABC。

22 while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了A.√B.×正确答案:B、×。

23 以下代码片段执行结束后,变量i的值是多少?int i =10;while ( i>0 ) {i /=2;}正确答案是:0。

24 以下代码片段执行结束后,变量i的值是多少?int i = 1;do {i += 5;} while (i<17);正确答案是:21。

25以下哪种运算能从变量x中取得十进制最低位的数字A.x / 10B.x % 10C.x * 10D.10 / x正确答案:B、x % 10。

26 当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:正确答案是:0。

27 以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?A.for ( i=0; i<10; i++ ) {...}B.for ( i=0; i<10; ++i ) {...}C.for ( i=0; i++<10; ) {...}D.for ( i=0; i<=9; i++ ) {...}正确答案:C、for ( i=0; i++<10; ) {...}。

28 以下代码段的输出是什么?for ( int i=10; i> 1; i /=2 ) {printf("%d ", i++);}正确答案是:10 5 3 2。

29 以下代码段的输出是:int sum = 0;for ( int i=0; i<10; i++ ) {if ( i%2 ) continue;sum += i;}printf("%d\n", sum);正确答案是:20。

30 以下代码段的输出是:int sum = 0;for ( int i=0; i<10; i++ ) {if ( i%2 ) break;sum += i;}printf("%d\n", sum);正确答案是:0。

31 以下哪个数字占据的空间最大?A.32768B.‘3 ‘C.32768.0正确答案:C、32768.0。

32 以下哪个字母不能在数字后面表示类型?A.FB.UC.LD.X正确答案:D、X。

33 以下哪个数字的值最大?A.10B.010C.0x10D.10.0 正确答案:C、0x10。

34 以下哪种类型不能用在switch-case的判断变量中:A.charB.shortC.intD.double 正确答案:D、double。

35 下列哪些是有效的字符?A.‘’B.‘\’‘C.''D.'\'正确答案:A、‘’。

B、‘\’‘。

C、''。

36 以下表达式的结果是:'1'+3正确答案是:52 或'4'。

37 以下哪个表达式的结果是true?A.!(4<5)B.2>2||4==4&&1<0C.34==33&&!falseD.!false正确答案:D、!false。

38 以下哪个表达式,当a和b中只有一个是true的时候结果为true,而如果两个都是false或都是true的时候,结果为falseA.a && bB.a || bC.a != bD.!a && !b正确答案:C、a != b。

39 以下哪个表达式,当a和b都是true或者都是false的时候,表达式的结果为true。

A.a && bB.a || bC.a == bD.a ^ b正确答案:C、a == b。

40 以下哪个表达式与!(a&&b)是等价的A.!a && !bB.!a || !bC.a && bD.a || b 正确答案:B、!a || !b。

41 以下代码执行后,i的值是:i = 3/2,3*2; 正确答案是:1。

42 以下哪句不是正确的原型?A.int f();B.int f(int i);C.int f(int);D.int f(int i) {} 正确答案:D、int f(int i) {}。

43 以下哪个函数的定义是错误的?A.void f() {}B.void f(int i) { return i+1; }C.void f(int i) {}D.int f() { return 0; }正确答案:B、void f(int i) { return i+1; }。

44 对于不返回值而且只有一个int类型的参数的函数,以下哪些函数原型是正确的?A.void f(int x);B.void f();C.void f(int);D.void f(x);正确答案:A、void f(int x);。

B、void f();。

C、void f(int);。

45 以下程序的输出是什么?#include <stdio.h>void swap(int a, int b);int main(){int a = 5;int b = 6;swap(a,b);printf("%d-%d\n", a, b);return 0;}void swap(int a, int b){int t = a;a = b;b = t;}正确答案是:5-6。

46 若有定义:int a[2][3];则以下选项中不越界的正确的访问有:A.a[2][0]B.a[2][3]C.a[1>2][0]D.a[0][3]正确答案:C、a[1>2][0]。

47 以下程序片段的输出结果是:int m[][3] = {1,4,7,2,5,8,3,6,9,};int i,j,k=2;for ( i=0; i<3; i++ ) {printf("%d", m[k][i]);}A.369B.不能通过编译C.789D.能编译,但是运行时数组下标越界了正确答案:A、369。

48 假设int类型变量占用4个字节,定义数组int x[10] = {0,2,4};则x在内存中占据几个字节?正确答案是:40。

49 若有:int a[][3] = {{0},{1},{2}};则a[1][2]的值是?正确答案是:0。

相关文档
最新文档