C练习

合集下载

C语言练习

C语言练习

第一章填空题1.C语言是一种的程序设计语言。

2.C程序是由函数构成的,一个C源程序至少包含一个函数。

3.C程序的执行是从函数开始。

4.一个函数由和两部分组成。

5.函数体一般包括和。

6.C源文件取名,后缀一般为,编译源代码,生成目标文件,其后缀名一般为,对目标文件进行连接,生成可执行文件,其后缀名一般为。

7.一个C语言的语句至少应包含一个。

8.用对C程序中的任何部分作注释。

第三章填空题1.变量代表内存中具有特定属性的一个。

2.在C语言中,要求对所有用到的变量作强制定义,也就是“先,后”。

3.在定义变量的同时给变量一个值,称为。

4.#define PI 3.14 说明PI为。

5.C语言规定标识符只能由、和三种字符组成,且第一个字符必须为或。

6.在C语言中整数可用________进制数、________进制数、________进制数三种数制表示。

7.C语言中的实数又称,它有两种表示形式、。

8.在微机内存中,字符型数据以____________存储。

9.表达式 b=35/7*5-7%4*4 运算后 b= 。

10.已有变量a,其值伪2,则表达式(a=3*5),a+=2,a++ 的值为,a的值为。

选择题1.以下符合C语言语法的实型常量是()。

A 1.2E0.5B 3.14159EC 0.5E-3D E152.在C语言中运算对象必需是整型的运算符是()。

A %B /C *D !3.已有变量a,其值伪9,表达式a+=a-=a+a的值伪()。

A -9B -18C 9D 184.下列选项中,能用作标识符的是()。

A 2_int_B *1_2C int-2_D _123a5.在C语言提供的合法的关键字是()。

A swicthB cherC defaultD Case6.如定义变量 i=3,则表达式-i++的值和i的值分别为()。

A -3 4B -4 4C -3 3D -4 37.表达式(b=(2,3),b+=2 )%15+b 的值为( )。

c练习题(带答案)

c练习题(带答案)

一、选择题1.C++语言属于( C )。

A)自然语言B)机械语言C)面向对象语言D)汇编语言2.下面选项中不属于面向对象程序设计特点的是(C) 。

A)继承性B)多态性C)相似性D)封装性3.可用作C++语言用户标识符的一组标识符是( B )。

A)void define +WORD B)a3_b3 _123 YNC)for -abc Case D)2a DO sizeof4.假定一个二维数组的概念语句为“int a[3][4]={{3,4},{2,8,6}};”,那么元素a[2][1]的值为(A)。

A)0 B)4 C)8 D)65.以下情形中,哪一种情形可不能挪用拷贝构造函数( B )A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,挪用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回挪用者时6.以下哪一关键字可用于重载函数的区分(C)A)extern B)static C)const D)virtual7.以下有关数组的表达中,正确的选项是( B )A)C++中数组的存储方式为列优先存储B)数组名能够作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度n终止D)数组指针的语法形式为:类型名*数组名[下标表达式];8.以下有关继承和派生的表达中,正确的选项是( C)A)派生类不能访问通过私有继承的基类的珍惜成员B)多继承的虚基类不能够实例化C)假设是基类没有默许构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中从头实现9.实现运行时多态的机制是( A )A)虚函数B)重载函数C)静态函数D)模版函数10.如有下面的函数挪用:fun(a+b, 3, max(n-1, b));其中实参的个数是(A)A)3 B)4 C)5 D)611.以下关于this指针的说法正确的选项是(B)A)this指针存在于每一个函数当中B)在类的非静态函数中this指针指向挪用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针12.在以下关于C++函数的表达中,正确的选项是(C)A)每一个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被挪用之前必需先声明D)函数不能自己调用自己13.以下运算符中,不能重载的是(C)A)&& B)!= C). D)->14.下面程序的输出结果是(B)#include <iostream>using namespace std;int i = 0;int fun(int n){static int a = 2;a++;return a+n;}void main(){int k = 5;{int i = 2;k += fun(i);}k += fun(i);cout << k;}A)13 B)14 C)15 D)1615.下面的程序段的运行结果为(D)char str[] = "job", *p = str;cout << *(p+2) << endl;A)98 B)无输出结果C)字符’b’的地址D)字符’b’16.下面程序的输出结果是( C )#include <iostream>using namespace std;class A{public:A (int i) { x = i; }void dispa () { cout << x << “,”; }private :int x ;};class B : public A{public:B(int i) : A(i+10) { x = i; }void dispb() { dispa(); cout << x << endl; } private :int x ;};void main(){B b(2);();}A)10,2 B)12,10 C)12,2 D)2,2 17.下面程序的输出结果是(C)#include <iostream>using namespace std;class Base{public:Base(int i) { cout << i; }~Base () { }};class Base1: virtual public Base{public:Base1(int i, int j=0) : Base(j) { cout << i; } ~Base1() {}};class Base2: virtual public Base{public:Base2(int i, int j=0) : Base(j) { cout << i; }~Base2() {}};class Derived : public Base2, public Base1{public:Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c),Base2(d), Base(a){ cout << b; }private:Base2 mem2;Base1 mem1;};void main() { Derived objD (1, 2, 3, 4); }A)134122 B)123412 C)D)14321218.下面程序的输出结果是(C)#include <iostream>using namespace std;class Base{public:virtual void f() { cout << “f0+”; }void g() { cout << “g0+”; }};class Derived : public Base{public:void f() { cout << “f+”; }void g() { cout << “g+”; }};void main() { Derived d; Base *p = &d; p->f(); p->g(); }A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+19.下面程序的输出结果是( C )#include <iostream>using namespace std;class Sample{friend long fun (Sample s){if < 2) return 1;return * fun(Sample);}public:Sample (long a) { x = a; }private:long x;};void main(){int sum = 0;for (int i=0; i<4; i++){sum += fun(Sample(i));}cout << sum;}A)12 B)16 C)10 D)3420.以下程序的输出结果是:(D)#include <iostream>using namespace std;int fun(char *s){ char *p=s;while (*p!='\0') p++;return (p-s);}void main(){cout<<fun("abc")<<endl;}A.0 B. 1 C. 2 D. 3 21.有如下程序段:int i=1;while(1){i++;if (i==10) break;if(i%2==0) cout<<’*’;}执行那个程序段输出字符*的个数是(C)A. 10B. 3C. 422.以下关于虚基类的描述中,错误的选项是(C)A. 使用虚基类可以消除由多继承产生的二义性B. 构造派生类对象时,虚基类的构造函数只被调用一次C. 声明class B:virtual public A 说明类B为虚基类D. 建立派生类对象时,首先调用虚基类的构造函数23.有下类概念Class A {Char *a;Public:A():a(0){}A(char *aa) {new char[strlen(aa)+1] B. char[strlen(aa)+1]C. char[strlen(aa)]D. new char[sizeof(aa)-1]24.假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a的值,x为该类的一个对象,那么访问x对象中数据成员a的格式为(X)。

c语言练习题

c语言练习题
2-6:36个人搬36块砖,男人一人搬3块,女人一人搬1块,小孩2人搬一块,问男人,女人,小孩各多少人?
2-7:将一元钱分成一分,二分,五分币,共有多少种方法?
三、简单的判断问题
3-1:输入一个数n,判断该数是不是偶数,是偶数输出Y,不是偶数输出N
3-2:输入3-12之间的一个数,输出该月有几天。
四、累加问题与累乘问题
18.1乒乓球
这是一份乒乓球比赛的信息记录。
WWWLLLLWWLLWLWLLLLW
W代表你得一分,L代表对手得一分。
编写程序,由键盘输入比赛信息(WL字符串形式),输出当前的比分,你的分数在前,中间以冒号分隔。
例如,对于上面的信息记录,应当输出
8:11
18.2陶陶摘苹果
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。例如:对于输入100 200 150 140 129 134 167 198 200 111 110,应当输出5
**
****
******
********
**********
1-6:编写程序,输出以下图形。
*
***
*****
*******
*********
1-7:编写程序,输出以下图形。
*
***
*****
*******
*********
1-8:编写程序,输出以下图形。(教材130页6.14)
*
***
*****

C语言初学者练习题目10条

C语言初学者练习题目10条

C语言初学者练习题目10条1. 关于C语言初学者练习题目10条在学习编程语言的过程中,练习题目是一个重要的环节,可以帮助初学者巩固基本知识和提升解决问题的能力。

本文将介绍10个适合C语言初学者的练习题目,并分析每个题目的解题思路。

题目一:输出Hello, World!这是C语言中最基础的练习题目,通过编写一个简单的程序来输出"Hello, World!",帮助初学者熟悉C语言的基本语法和编译运行过程。

题目二:计算两个整数之和编写一个程序,接收用户输入的两个整数,并输出它们的和。

这个练习可以让初学者熟悉C语言的基本输入输出操作和基本的数学运算。

题目三:判断一个数是否为素数编写一个程序,接收用户输入的一个整数,并判断该数是否为素数。

这个练习可以让初学者熟悉使用循环和条件语句进行判断,并学习如何优化算法以提高判断效率。

题目四:计算数组元素的平均值编写一个程序,接收用户输入的一个整型数组,并计算出数组元素的平均值。

这个练习可以让初学者熟悉数组的基本使用和循环的结合运用。

题目五:查找数组中的最大值和最小值编写一个程序,接收用户输入的一个整型数组,并找出数组中的最大值和最小值。

这个练习可以让初学者学习如何定义和使用函数,并加深对数组的理解。

题目六:实现简单的字符串翻转编写一个程序,接收用户输入的一个字符串,并将其翻转输出。

这个练习可以让初学者学习如何处理字符串类型的数据,并锻炼对数组和循环的综合运用能力。

题目七:实现简单的冒泡排序编写一个程序,接收用户输入的一个整型数组,并使用冒泡排序算法对数组进行排序。

这个练习可以让初学者深入理解冒泡排序算法的原理,并学习如何进行数组的元素交换。

题目八:实现简单的查找算法编写一个程序,接收用户输入的一个整型数组和一个目标值,在数组中查找目标值并输出其下标。

这个练习可以让初学者学习不同查找算法的实现原理,并熟悉如何使用循环进行遍历操作。

题目九:实现简单的递归算法编写一个程序,使用递归算法计算斐波那契数列的第n项值,并将其输出。

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)
010, 0x10, 10;
("\n");
则输出结果是.
A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10
18、已知有型变量2.54.7,整型变量7,
则表达式3*()()%2/4的值是.
A) 2.4 B)2.5 C) 2.75 D) 0
19、设有以下语句1033,则x的值是
{ 010;
()
3;
("\n");
}
A) 3,0 B) 0,0 C) 0,1 D) 3,1
35、能够完成如下函数计算的程序段是.
┌ -1 x<0
┤ 0 0
└ 1 x>0
A) 1;B) (x>=0)
(0)(x>0) 1;
(x>0) 1;0;
0;1;
C) 0;D) 1;
(x>=0)(x>0) 1;
23、在C语言中,以下叙述不正确的是.
A) 在C程序中,无论是整数还是实数,都能被准确无误的表示
B) 在C程序中,变量名代表存储器中的一个位置
C) 静态变量的生存期与整个程序的生存期相同
D) C语言中变量必须先定义后引用
24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是.
A) 10<a<15 B) 11121314
11、阅读下面的程序
<>
()
{
;
010;
9;
("");
}
则程序的运行结果是.
A) 1,19B) -1,19C) 1,17 D) -1,17
12、阅读下面的程序

C语言练习题(带详解答案)

C语言练习题(带详解答案)

1、编程题1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);}elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。

2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。

c语言入门练习题

c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。

2. 声明一个浮点型常量,其值为3.14。

3. 将字符型变量 'A' 赋值给另一个字符型变量。

1.2 数据类型1. 将一个整型变量转换为浮点型变量。

2. 将一个长整型变量赋值给一个短整型变量。

3. 编写一个程序,输出不同数据类型所占的字节数。

1.3 运算符1. 计算5加3乘2的结果。

2. 判断两个整型变量是否相等。

3. 使用自增运算符使变量i的值增加1。

二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。

2. 输出用户输入的两个整数中的较大值。

3. 计算并输出圆的面积(给定半径)。

2.2 选择结构1. 判断一个整数是正数、负数还是零。

2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。

3. 编写一个程序,实现石头剪刀布的游戏。

2.3 循环结构1. 计算1到100所有整数的和。

2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。

3. 使用循环结构输出九九乘法表。

三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。

2. 定义一个函数,实现字符串的复制。

3. 创建一个函数,判断一个数是否为素数。

3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。

2. 编写一个递归函数,实现字符串的逆序输出。

3. 利用递归函数求解汉诺塔问题。

四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。

2. 计算一维数组中所有元素的和。

3. 找出一维数组中的最大值和最小值。

4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。

2. 计算二维数组对角线元素的和。

3. 实现矩阵的转置。

五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。

2. 使用指针实现两个整数的交换。

3. 编写一个函数,通过指针参数修改传入的字符串。

C语言练习题

C语言练习题

C语言编程练习顺序结构:1.已知行驶时间与速度,试编程求解并输出行驶的路程(5分)。

2.编写程序对100以内所有能被3整除但不能被5整除的数求和并输出结果(6分)。

3.请编写程序,将“China”译成密码,密码规律是:用原来的字母后面的第4个字符代替原来的字母。

例如:字母“A”后面的第4个字母是“E”,用”E”代替“A”。

4.编写程序,将输入的大写字母转换为小写字母输出5. 编写一个C程序,输入a,b两个值,输出这两个数的和。

6.编写程序,输入一个人三门课的成绩,输出其平均成绩。

7.编写程序,任意输入一个三位整数,输出各位上数字之和,如输入123,则1+2+3=6,输出6。

8.输入圆的半径,输出该圆的周长和面积,结果保留2位小数。

9.编写程序,输入一个人三门课的成绩,输出其平均成绩。

10.利用中间变量,完成两值交换。

选择结构:11.编写一个C程序,以下程序根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和三角形的类型编写程序。

12.编写程序输入x值,求解以下分段函数,并将其结果输出y=13.编写程序,判断输入的字符,若为小写字母,将其转换为大写字母,若为大写字母,将其转换为小写字母,若为其他字符,则原样输出。

14.编写程序,输入x的值,计算y的值:公式如右图:y={−1 x<00 x=01 x>0。

15.编写程序,根据输入的数字,输出相应的星期。

(1-7,则周一---周日,除此之外的数字,均输出无效输入的提示)循环结构:16.编写程序,输出1000以内的所有水仙花数。

水仙花数是指一个三位数,数的本身等于各位数字立方之和,如153=1^3+5^3+3^3。

17.编写程序,计算100以内能被3整除的数的和。

18.编写程序,求5!(输出格式要求为:例:5!=120)19.输入n个数,要求按照由小到大的顺序输出,并要求每行输出5个。

数组:20.编写程序,任意输入一行字符,以‘\n’结束,要求统计其中字母的个数,并将原字符及统计结果输出。

C练习题(有答案)

C练习题(有答案)

1循环控制:2数组:3函数4宏定义5指针6文件1循环控制:(一)选择题1.设有程序段int k=10;while(k=0)k=k-1;这下面描述中正确的是_________.a)while循环执行10次 b)循环是无限循环c)循环体语句一次也不执行 d)循环体语句执行一次2.语句while(!E);中的表达式!E等价于________. a)E==0 b)E!=1 c)E!=0 d)E==1 3.下面程序段的运行结果是__________.int n=0;while(n++<=2);printf("%d",n);a)2 b)3 c)4 d)有语法错4.下面程序的运行结果是____.#include<stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num); } }a)1 b)1 c)1 d)12 2 23 345.以下程序段________.x=-1;do{x=x*x;}while(!x);a)是死循环 b)循环执行二次c)循环执行一次 d)有语法错误6.若有如下语句int x=3;do{printf(""%d\n",x-=2);}while(!(--x));则上面程序段______.a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环7.下面程序的运行结果是______.#include<stdio.h>main(){int y=10;do{y--;}while(--y);printf("%d\n",y--);}a)-1 b)1 c)8 d)08.若i为整型变量,则以下循环执行次数是_____.for(i=2;i==0;)printf("%d",i--);a)无限次b)0次 c)1次 d)2次9.执行语句for(i=1;i++<4; );后变量i的值是______.a)3 b)4 c)5 d)不定10.以下正确的描述是_______.a)continue语句的作用是结束整个循环的执行b)只能在循环体内和switch语句体内使用break语句c)在循环体内使用break语句或continue语句的作用相同d)从多层循环嵌套中退出时,只能使用goto语句(二)填空题1.下面程序段是从键盘输入的字符中统计字符的个数,用换行符结束循环。

(完整版)C语言基础练习题(含答案)

(完整版)C语言基础练习题(含答案)

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。

(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.Void C._3com_ D.int9.一个C程序是由()。

C语言练习题(带答案)

C语言练习题(带答案)

一、单项选择题1、(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2、C语言程序从C开始执行、A) 程序中第一条可执行语句B) 程序中第一个函数C)程序中的main函数D)包罗文件中的第一个函数3、以下讲法中正确的是(C)、A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4、下列关于C语言的讲法错误的是( B ) 、A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5、下列正确的标识符是(C )、A、-a1B、a[i]C、a2_iD、intt6、下列C语言用户标识符中合法的是(B)。

A)3ax B)xC)caseD)—e2E)union7、下列四组选项中,正确的C语言标识符是(C)、A) %xB) a+b C)a123 D) 1238、下列四组字符串中都能够用作C语言程序中的标识符的是( A )。

A、print_3d db8 aBc B、I\amone_half start$it3paiC、str_1 Cpp powwhileD、PxqMy—>book line#His、ag e9、C语言中的简单数据类型包括(D)、A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10、在C语言程序中,表达式5%2的结果是C、A)2、5 B)2 C)1D)311、假如int a=3,b=4;则条件表达式"a〈b? a:b”的值是__A__。

A) 3 B) 4C) 0 D) 112、若int x=2,y=3,z=4 则表达式x〈z?y:z的结果是( B)、A)4 B)3C)2 D)0E)113、C语言中,关系表达式与逻辑表达式的值是( B) 、ﻩA) 0 B) 0或1 C) 1 D) ‘T’或’F’14、下面(D)表达式的值为4、A)11/3 B) 11、0/3C)(float)11/3 D) (int)(11、0/3+0、5)15、设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0、5的是( B)A、b=1、0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1、0)16、若“int n;float f=13、8;”,则执行“n=(int)f%3”后,n的值是(A)A、1 B、4C、4、333333D、4、617、以下对一维数组a的正确讲明是: DA) char a(10); ﻩﻩﻩB)int a[];C)int k=5,a[k];D)chara[3]={‘a’,'b','c’};18、以下能对一维数组a进行初始化的语句是:(C)A、inta[5]=(0,1,2,3,4,) B、inta(5)={}C、int a[3]={0,1,2}D、inta{5}={10*1}19、在C语言中对一维整型数组的正确定义为D、A)int a(10);B)int n=10,a[n];C)int n;a[n]; D)#define N10inta[N];20、已知:int a[10]; 则对a数组元素的正确引用是(D)、A、a[10]B、a[3、5]C、a(5) D、a[0]21、若有以下数组讲明,则i=10;a[a[i]]元素数值是(B)。

c语言程序基础练习题500道(附答案)

c语言程序基础练习题500道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。

A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。

A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。

A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。

A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。

A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。

A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。

A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。

c编程练习题

c编程练习题

c编程练习题C语言是一种广泛使用的计算机编程语言,以其高效性和灵活性而闻名。

为了帮助学习者更好地掌握C语言,以下是一些C编程练习题,它们覆盖了基础到中级的知识点。

# 基础练习题1. 数据类型转换编写一个程序,输入一个整数和一个浮点数,然后输出它们转换为字符型后的ASCII值。

2. 算术运算编写一个程序,接受两个整数作为输入,并计算它们的和、差、积、商以及余数。

3. 条件语句编写一个程序,根据用户输入的成绩(0-100),输出相应的等级(A-F)。

4. 循环结构使用for循环打印从1到100的所有整数,并找出3和5的公倍数。

5. 数组操作编写一个程序,接受用户输入的5个整数,存储到数组中,并找出最大值和最小值。

# 中级练习题1. 字符串处理编写一个程序,接受用户输入的字符串,然后反转该字符串并输出。

2. 函数定义与调用定义一个函数,计算两个数的最大公约数,并在主函数中调用它。

3. 指针应用编写一个程序,使用指针交换两个变量的值,并输出交换后的结果。

4. 结构体使用定义一个结构体来存储学生的信息(如学号、姓名、成绩),然后编写一个程序来输入和输出这些信息。

5. 文件操作编写一个程序,能够读取一个文本文件中的内容,并计算其中单词的数量。

# 进阶练习题1. 递归函数编写一个递归函数来计算阶乘,并在主函数中调用它。

2. 动态内存分配使用malloc或calloc动态分配内存,并编写一个程序来复制一个数组的内容到另一个数组。

3. 链表操作实现一个简单的链表,并提供插入、删除和遍历链表的函数。

4. 排序算法实现冒泡排序、选择排序或插入排序算法,并编写一个程序来对用户输入的一系列数字进行排序。

5. 二叉树遍历定义一个二叉树的结构,并实现前序、中序和后序遍历。

# 实践项目1. 简单计算器实现一个基本的计算器,能够进行加、减、乘、除等基本运算。

2. 图书管理系统设计一个简单的图书管理系统,能够添加、删除、查找和列出图书。

c语言练手小项目

c语言练手小项目

c语言练手小项目
1. 学生信息管理系统:这个项目可以让你练习处理和存储学生数据,例如添加、修改、删除和查询学生的信息。

你可以使用文件来存储数据,并设计相应的功能函数来操作数据。

2. 猜数字游戏:编写一个猜数字游戏,让玩家猜测一个随机生成的数字。

程序会根据玩家的猜测给出相应的提示,如“大了”或“小了”,直到玩家猜对为止。

3. 计算器:实现一个简单的计算器,可以执行加、减、乘、除等基本的数学运算。

4. 字符串操作:开发一个程序,用于处理字符串,如字符串的拼接、查找、替换等操作。

这个项目可以帮助你熟悉字符串处理函数和算法。

5. 数据结构练习:使用 C 语言实现一些基本的数据结构,如链表、栈、队列等,并进行相关的操作,如插入、删除、查找等。

6. 水仙花数:找出所有水仙花数(一个 n 位数,其各个位上的数字的 n 次幂之和等于该数本身)。

这些小项目可以帮助你巩固 C 语言的基础知识,提高编程能力。

在实践中,你还可以根据自己的兴趣和需求进一步扩展和改进这些项目。

C语言经典练习题50道(附答案)

C语言经典练习题50道(附答案)

1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。

#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。

#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。

#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。

#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。

#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。

C语言基础练习100题含标准答案

C语言基础练习100题含标准答案

C语言基础练习100题含标准答案1. 编写一个C语言程序,要求输出"Hello, World!"#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个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;}3. 编写一个C语言程序,要求输出一个整数的平方。

#include <stdio.h>int main() {int num, square;printf("请输入一个整数:");scanf("%d", &num);square = num * num;printf("该整数的平方为:%d\n", square);return 0;}4. 编写一个C语言程序,要求输出1到10的所有整数。

#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}5. 编写一个C语言程序,要求输出1到10的所有整数的和。

#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 10; i++) {sum += i;}printf("1到10的所有整数的和为:%d\n", sum);return 0;}6. 编写一个C语言程序,要求输入一个字符串并输出该字符串。

c语言趣味题目

c语言趣味题目

14 c语言趣味题目
以下是一些C语言的趣味题目:
1.绘制余弦曲线:要求使用C语言绘制余弦曲线,并可以设定曲线的幅度和周期。

2.绘制余弦曲线和直线:在同一个坐标系中绘制余弦曲线和直线,观察它们的交点。

3.绘制圆:使用C语言绘制一个圆,并可以设定圆的半径和中心点坐标。

4.绘制螺旋线:要求使用C语言绘制螺旋线,并可以设定螺旋线的半径和旋转角度。

5.猜数字游戏:要求使用C语言编写一个猜数字游戏,随机生成一个1到100之间的
数字,然后让用户猜这个数字。

6.计算阶乘:要求使用C语言计算一个正整数的阶乘,并可以输出结果。

7.判断质数:要求使用C语言判断一个正整数是否为质数,并可以输出结果。

8.寻找最大值:要求使用C语言编写一个程序,寻找一组数中的最大值。

9.字符串反转:要求使用C语言编写一个程序,将一个字符串反转并输出结果。

10.数字排序:要求使用C语言编写一个程序,对一组数字进行排序。

(完整版)C语言各章练习题

(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。

c语言练习题55题

c语言练习题55题

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。

2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

3.输入一个正整数求出它是几位数;输出原数和位数。

4.输入一个正整数,输出原数并逆序打印出各位数字。

5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。

6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。

将结果输出。

7.求1!+2!+3!+……+20!,将结果输出。

8.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。

9..打印出100~999之间的所有水仙花数。

10..求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。

11.给出年、月、日,计算该日是该年的第几天。

12.求一个3*3的整型矩阵对角线元素之和。

将原矩阵和求出的和输出。

13.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。

14.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。

15.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出16.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。

17..求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。

18.有一篇文章,有三行文字,每行有80个字符。

要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。

19..将20个整数放到一维数组中,输出该数组的最大值和最小值。

20..将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。

21..将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。

22..编写一个程序,将两个字符串连接起来,不要使用strcat函数。

23..编写一个程序,将字符数组a中的全部字符复制到字符数组b中。

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

#include<stdio.h>#include<stdlib.h>#include<math.h>//void sort0(int *pointer[],int n){// int i,j,k;// int *temp;// for(i = 0; i < n-1; i++){// k = i;// for(j = i+1; j < n; j++){// if(pointer[k] > pointer[j]) // k = j;// }// if (k != i){// temp = pointer[i];// pointer[i] = pointer[k];// pointer[k] = temp;// printf("\n");// }// }//}////void sort1(int *a, int n){// int i,j,k;// int temp;// for(i = 0; i < n-1; i++){// k = i;// for(j = i+1; j < n; j++){// if(a[k] > a[j]) {// k = j;// }// }// if (k != i){// temp = *(a+i);// *(a+i) = *(a+k);// *(a+k) = temp;// printf("\n");// }// }//}////void sort2(int **pointer, int n){// int i,j,k;// int temp;// for(i = 0; i < n-1; i++){// k = i;// for(j = i+1; j < n; j++){// if(**(pointer+k) > **(pointer+j)) // k = j;// }// if (k != i){// temp = **(pointer+i);// **(pointer+i) = **(pointer+k);// **(pointer+k) = temp;// printf("\n");// }// }//}////int strcmps(char *p1, char *p2){// int i,n;// n = 0;// while(*p1 == *p2){// if(*p1 == '\0')// return 0;// *p1++;// *p2++;// }// n = *p1 - *p2;// return n;//}//t10.17/*#define LEN sizeof(struct student)struct student{int num;struct student *next;};int n;struct student *creat(void){struct student *p1,*p2,*head;n = 0;p1 = p2 = (struct student *)malloc(LEN);scanf("%d",&p1->num);head = NULL;while (p1->num != 0){n += 1;if(n == 1){head = p1;}else{p2 -> next = p1;}p2 = p1;p1 = (struct student *)malloc(LEN);scanf("%d",&p1->num);}p2->next=NULL;return head;}struct student *insert(struct student *ah,struct student *bh){ struct student *pa1,*pa2,*pb1,*pb2;pa1 = pa2 = ah;pb1 = pb2 = bh;if(ah == NULL)return bh;else if(bh == NULL)return ah;else if(ah == NULL && bh == NULL)return NULL;else{while(pa1 -> next != NULL)pa1 = pa1 -> next;pa1 -> next = pb1;return ah;}}struct student *sort(struct student *head){struct student *p,*q,*r;int temp;for(p = head; p != NULL; p = p -> next){r = p;for(q = p -> next; q != NULL; q = q -> next){ if(q -> num < r -> num)r = q;}if(r != p){temp = p -> num;p -> num = r -> num;r -> num = temp;}}return head;}void print(struct student *head){while( head != NULL){printf("%d\n",head->num);head = head -> next;}//t11.8}*//*#define N 13struct person{int num;int nextop;}link[N+1];//t11.9*/#define LEN sizeof(struct student)int n;struct list{int data;struct list *next;};typedef struct list node;typedef node *link;node *tail(void){link ptr,head,tail;int num,i;tail = (link)malloc(sizeof(node));tail -> next = NULL;ptr = tail;printf("\nplease input 5 data =>\n");for(i = 0; i<= 4; i++){scanf("%d",&num);ptr->data = num;head = (link)malloc(sizeof(node));head->next = ptr;ptr = head;}ptr = ptr->next;while(ptr != NULL){printf("The value is =>%d\n",ptr->data);ptr = ptr->next;}}struct student {int num;struct student *next;};struct student *creat(void){struct student *head,*p1,*p2;n = 0;p1 = p2 = (struct student *)malloc(LEN);head = NULL;scanf("%d",&p1 -> num);while(p1->num != 0){n += 1;if(n == 1) head = p1;else p2 -> next = p1;p2 = p1;p1 = (struct student *)malloc(LEN);scanf("%d",&p1 -> num);}p2 -> next = NULL;return head;}struct student *delet(struct student *a,struct student *b){ struct student *ahead,*pa1,*pa2,*pb;ahead = pa1 = pa2 = a;while(pa1 != NULL){pb = b;while(pb != NULL){if(pa1->num == pb->num){if(pa1 == ahead)ahead = pa1->next;elsepa2->next = pa1->next;}pb = pb->next;}pa2 = pa1;pa1 = pa1->next;}return ahead;}void print(struct student *head){while( head != NULL){printf("%d\n",head->num);head = head -> next;}}void CocktailSort(int a[], int num){ //鸡|尾2酒?排?序¨°int i,temp,bottom = 0,bound = 0,top = num - 1,swapped = 1;while(swapped==1){swapped = 0;for(i = bottom; i < top; i++){if(a[i] > a[i+1]){temp = a[i];a[i] = a[i+1];a[i+1] = temp;swapped = 1;bound = i;}}top = bound;for(i = top; i > bottom; i--){if(a[i] < a[i-1]){temp = a[i];a[i] = a[i-1];a[i-1] = temp;swapped = 1;bound = i;}}bottom =bound;}}void ChooseSort(int a[],int num){//选?择?排?序¨°int i,j,k,temp;for(i = 0; i < num-1; i++){k = i;for(j = i; j < num; j++){if(a[k] > a[j])k = j;}if(k != i){temp = a[i];a[i] = a[k];a[k] = temp;}}}void ShellSort(int a[], int num){ //希¡ê尔?排?序¨°int k = num/2,i,j,temp;while(k > 0){for(i = k; i < num; i++){temp = a[i];j = i - k;while(j >= 0 && temp < a[j]){a[j+k] = a[j];a[j] = temp;j = j-k;}}k /= 2;}}void QuickSort(int a[],int num){ //快¨¬速¨´排?序¨°int i = 0, j = num - 1;int val = a[0];if(num > 1){while(i < j){for(;j > i; j--){if(a[0] > a[j]){a[0] = a[j];break;}}for(;i < j; i++){if(a[i] > val){a[j] = a[i];break;}}}a[i] = val;QuickSort(a,i);QuickSort(a+i+1,num-1-i);}}void main(){/*int a[4] = {2,4,1,6};int i,*p[4];int **pointer;for(i = 0; i < 4; i++){p[i] = &a[i];}pointer = p;sort0(p,4);for(i = 0; i < 4; i++){printf("%4d",*(*p+i));}printf("\n");sort1(a,4);for(i = 0; i < 4; i++){printf("%4d",a[i]);}printf("\n");sort2(pointer,4);for(i = 0; i < 4; i++){printf("%4d",**(pointer+i));}printf("\n");*///char *a = {"vboy"};//char *b = {"boy"};//int n;//n = strcmps(a,b);//printf("%d",n);//t10.17/* char str[50],*strp;int a[100],*p,i,j,k,l,e10,n = 0,s = 0;gets(str);strp = &str[0];p = &a[0];i = 0; k = 0;while(*(strp+i) != '\0'){if((*(strp+i)) >= '0' && (*(strp+i)) <= '9'){ k++;}else{if(k > 0){s = *(strp+i-1) -48;j =1;for(; j < k; j++){e10 = 1;for(l = 1; l <= j; l++)e10 *= 10;s += (*(strp+i-1-j) - 48)*e10;}*p = s;n ++;p++;k = 0;}}i++;}if(k > 0){s = *(strp+i-1) -48;j = 1;for(; j < k; j++){e10 = 1;for(l = 1; l <= j; l++)e10 *= 10;s += (*(strp+i-1-j) - 48)*e10;}*p = s;n ++;p++;k = 0;}printf("%d :",n);k = 0;p = &a[0];for(k = 0; k < n; k++)printf("%d ",*(p+k));*///t10.16/*struct student *ahead,*bhead,*abh;ahead = creat();bhead = creat();abh = insert(ahead,bhead);abh = sort(abh);printf("\n");print(abh);t11.8 *//* int i,count,h;for(i = 1; i <= N; i++){if(i == N)link[i].nextop=1;elselink[i].nextop = i+1;link[i].num =i;}printf("\n");count = 0;h=N;printf("%ds\n",h);while(count <N-1){i = 0;while(i != 3){h = link[h].nextop;if(link[h].num)i++;}printf("%4d",link[h].num);link[h].num = 0;count++;}printf("\n the last one is");for(i=1;i<=N;i++){if(link[i].num)printf("%3d",link[i].num);}//t11.9*/int i,n;for(i = 1; i < 5; i++){n = 0;if(i != 1)n = n+1;if(i == 3)n = n+1;if(i == 4)n = n+1;if(i != 4)n = n+1;if(n == 3)printf("%c",64+i);}}。

相关文档
最新文档