0){printf("%d",n%10);n/=10;i++;}printf("\n%d",i);getch();}14.输入两个自然数m和n,求它们的最小公倍数#includevoidmain(){int" />

C语言基本程序

C语言基本程序
C语言基本程序

13.输入一个五位以内正整数,判断该数是几位数,并以逆序的形式输出。(如输入12345,输出成54321)

# include

void main (){

int i=0,n;

scanf("%d",&n) ;

while(n>0) {

printf("%d",n%10);

n/=10;

i++;

}

printf("\n%d",i);

getch() ;

}

14.输入两个自然数m和n,求它们的最小公倍数

# include

void main (){

int a,b,p;

scanf("%d%d",&a,&b) ;

for(p=1;p<=a*b;p++)

if(p%a==0&&p%b==0)break;

printf("\n%d",p);

getch() ;

}

15.输入两个自然数m和n,求它们的最大公因数

# include

void main (){

int a,b,p;

scanf("%d%d",&a,&b);

p=a>b?a:b;

for(;p>=0;p--)

if(a%p==0&&b%p==0)break;

printf("\n%d",p);

getch() ;

}

16、根据公式求π值。求π的近似值,直到最后一项的值小于10e-8 为止.

# include

# include

void main (){

int i=1;

double t=1,s=0;

while (t>=10e-8){

s+=t;

i++;

t=1.0/i/i;

}

printf("%g",sqrt(s*6));

getch();

}

22输出如下由星号组成的三角形图案

(2).# include

void main (){

int i,j,k;

for(i=1;i<=5;i++){

for(j=1;j<=5-i;j++)

printf(" ") ;

for(k=1;k<=i;k++)

printf("*");

printf("\n");

}

getch();

}

(4).# include

void main(){

int i,j,k;

for(i=1;i<=5;i++){

for(j=1;j

printf(" ") ;

for(k=11-2*i;k>=1;k--)

printf("*") ;

printf("\n") ;

}

getch();

}

23.水仙花

# include

void main(){

int i,a,b,c;

for(i=100;i<1000;i++){

a=i%10;

b=i/10%10;

c=i/100;

if(a*a*a+b*b*b+c*c*c==i)

printf("%d\t",i) ;}

getch();

}

24.设计一程序,对输入的字符串进行过滤,挑选数字串,如输入字符串:abc123edf456gh,得输出结果:123456。

#include

void main(){

char c;

for(;(c=getchar())!='\n';)

if(c>='0'&&c<='9')

printf("%c",c);

getch();

}

28、输入一组整数,输出其中大于平均数的整数。

#include

# include

# include

void main (){

int i,a[10],s=0;

randomize();

for(i=0;i<10;i++){

scanf("%d",&a[i]);

s+=i ;

}

s=s/10;

printf("\n%d\n",s);

for(i=0;i<10;i++){

if(a[i]>s)

printf("%d\t",a[i]) ;

}

getch();

}

29、利用数组求菲波那契数列的前二十项,并求其和。(要求输出时一行显示五个数据)#include

void main(){

int i,s;

int a[20]={1,1};

s=2;

for(i=2;i<20;i++){

a[i]=a[i-2]+a[i-1];

s=s+a[i];

}

for(i=0;i<20;i++){

if(i%5==0)printf("\n");

printf("%10d",a[i]);

}

printf("\n");

printf("%d",s);

getch();

}

30、输入10 个学生的成绩,求出其中的最高分、最低分和平均分。#include

#include

#include

#define N 10

void main()

{ int i,a[N],max,min;

double s;

randomize();

for(i=0;i

a[i]=random(60)+40;

printf("%d\t",a[i]);

}

s=max=0;

min=100;

for(i=0;i

{s+=a[i];

if(min>a[i]) min=a[i];

if(max

printf("\nAver:%g",s/N);

printf("\nMax:%d",max);

printf("\nMin:%d",min);

getch();

}

32、随机产生十个100 以内的正整数,降序排列后输出。

#include

#include

#include

#define N 10

void main()

{ int i,a[N],j,t;

randomize();

for(i=0;i<10;i++){

a[i]=random(100);

printf("%5d",a[i]);

}

printf("\n\n") ;

for(i=0;i

for(j=0;j<10-i;j++)

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

for(i=0;i

printf("%5d",a[i]);

getch();

}

34、随机产生十个20以内的正整数,输出该组数。将其中重复的数从数组剔除后,再输出。

#include

#include

#include

#define N 10

void main()

{ int i,a[N],j;

randomize();

for(i=0;i

a[i]=random(20);

printf("%d\t",a[i]);

}

printf("\n%d\t",a[0]);

for(i=1;i

for(j=1;j

if(a[i]==a[j])break;

if(i==j)

printf("%d\t",a[i]);}

getch();

}

35. 35、产生一个5*5 的随机数矩阵,输出之,并求其对角线之和。

#include

#include

#define N 5

void main(){

int i,a[N][N],j,s,t;

s=t=0;

randomize();

for(i=0;i

for(j=0;j<5;j++){

a[i][j]=random(100);

printf("%d\t",a[i][j]);

}

printf("\n");

}

for(i=0;i

s+=a[i][i];

printf("%d\n",s);

for(i=0;i

j=4-i;

t+=a[i][j];}

printf("%d",t);

getch();

}

36、输出如下杨辉三角形。

#include

#define N 8

void main() {

int i,j,a[N][N]={1};

for(i=1;i

a[i][0]=1;

for(j=1;j<=i;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

}

for(i=0;i

for(j=0;j<=i;j++)

printf("%5d",a[i][j]);

printf("\n") ;

}

getch();

}

37、任意输入一个字符串,输出其中各字符对应的ASCII 码。

#include

void main() {

char a[20];

int i,x ;

gets(a);

x=strlen(a) ;

for(i=0;i

printf("%c--%d\n",a[i],a[i]);

getch();

}

39、键盘输入一行英文,试将其中的单词分行输出,并统计单词个数。(单词之间不限空格数)

#include

void main(){

char c1,c2,a[20];

int i,n=0;

c1=' ';

printf("enter a line:");

gets(a);

for(i=0;a[i]!='\0';i++){

c2=a[i];

if(c1==' '&&c2!=' '){

n++;

printf("\n%c",c2);

}

else if(c2!=' ')printf("%c",c2);

c1=c2;

}

printf("\n words:%d",n);

getch();

}

42、输入一行字符,分别统计其中字母、数字、空格和其它字符的个数

#include

void main(){

char a[50];

int i,x,j,m,n;

j=m=n=0;

gets(a);

x=strlen(a);

for(i=0;a[i]!='\0';i++){

if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')j++;

else if(a[i]>='0'&&a[i]<='9')m++;

else if(a[i]==' ')n++;

}

printf("\nword=%d\nnumber=%d\nblank=%d\nothers=%d",j,m,n,x-j-m-n,x);

getch();

}

43、输入整数m和n(m>n),求

如数值不合适,提示“error data”的错误信息。

#include

double fac(int x){

double p=1;

for(;x>0;x--)

p*=x;

return p;

}

void main(){

int m,n;

printf("Enter two number:");

scanf("%d%d",&m,&n);

printf("%g",fac(m)/fac(n)/fac(m-n));

getch();

46、验证任何一个偶数可分解成两个素数之和。利用isPrame函数(需要预先定义,用

以判断一个整数是否素数),请输出所有两位偶数的分解式。

#include

int isprime(int n){

int i;

for(i=2;i

if(n%i==0)break;

if(i==n) return 1;

else return 0;

}

void main(){

int j,a,b;

int isprime (int j) ;

for(j=10;j<100;j++){

for(a=2;a

b=j-a ;

if(isprime(a)*isprime(b)==1){

printf("%d=%d+%d\t\t\t",j,a,b);

break;

}

}

if(a==j) printf("error\n");

}

getch();

}

49、设计一个函数Maxdivisor,求两个自然数的最大公约数。利用该函数求一组数的最大公约数。

# include

int maxdivisorint (int m ,int n){

int min,i;

min=(m>n)?n:m;

for(i=min;i>0;i--)

if(m%i==0&&n%i==0)break;

return i;

}

void main(){

int a,b;

scanf("%d%d",&a,&b);

printf("%d",maxdivisorint(a,b));

getch();

50、设计一函数countvalue(int n),该函数的功能是:找出所有n以内满足i,i+4,i+10 都是素数的素数对(i+10 也在n以内)及其总对数。利用该函数求100 以内这样的素数

对,及其总对数。

#include

int isPrime(int m){

int i;

for(i=2;i

if(m%i==0)break;

if(i==m)return 1;

return 0;

}

int countvalue(int n){

int i,num=0;

for(i=2;i

if (isPrime(i)*isPrime(i+4)*isPrime(i+10)){

printf("%d\t%d\t%d\n",i,i+4,i+10);

num++;

}

return num;

}

void main(){

printf("Number:%d", countvalue(100));

getch();

}

52、设计函数mincn,求一组自然数(数组)的最小公倍数。在main 函数中产生五个20以内的随机自然数,利用mincn函数求五个数的最小公倍数。

#include

int mincn(int a[],int n){

int p,i;

for(p=a[0];p>=1;p++){

for(i=0;i

if(p%a[i]!=0)break;

if(i==n)return p;

}

}

void main(){

int i,b[5];

randomize();

for(i=0;i<5;i++){

b[i]=random(10);

printf("%d\t",b[i]);

}

printf("\n%d",mincn(b,5));

getch();

}

54、设计函数sort,可对一组数进行升序处理。main 函数中产生十个随机整数,利用sort 函数排序,后输出。(要求:main函数中输出有序数据)

#include

#include

#include

void sort(int a[],int n){

int i,j,t;

for(i=0;i

for(j=0;j

if(a[j]>a[j+1]){

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

void main(){

int i,b[10];

randomize();

for(i=0;i<10;i++){

b[i]=random(100);

printf("%d\t",b[i]);

}

printf("\n");

sort(b,10);

for(i=0;i<10;i++)

printf("%d\t",b[i]);

getch();

}

57、main函数中输入一组数,通过count 函数求其中的最大数、最小数和平均数。

#include

#include

#include

#define n 10

void count (int *p,int x,int *p1,int *p2,int *p3){

int i;

*p1=*p2=*p3=*p;

for(i=1;i

p++;

*p3+=*p;

if(*p1<*p)*p1=*p;

if(*p2>*p)*p2=*p;

}

*p3/=x;

}

void main(){

int a[n],max,min,aver,i;

randomize();

for(i=0;i

printf("%d\t",a[i]=random(100));

count(a,n,&max,&min,&aver);

printf("\nmax=%d,min=%d,aver=%d",max,min,aver);

getch();

}

60、产生一组n个随机数,将其中前m个数移到后面,后nm个数移到前面。(n和m 在程序运行时由键盘输入)。

#include

#include

#include

void main(){

int a[100],*p,*q,n,m;

scanf("%d%d",&n,&m);

randomize();

for(p=a;p

printf("%d\t",*p=random(100));

printf("\n");

for(q=a;q

*p++=*q;

for(q=a+m;q

printf("%d\t",*q);

getch();

}

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

1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( 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)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

最新C语言程序设计基础知识期末复习

C语言程序设计基础知识期末复习 一、C语言与算法 1.程序:一组计算机能识别和执行的指令。 2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的控制语句。 3.C语言程序的结构特点: (1).一个程序由一个或多个源程序文件组成:一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义 (2).函数是C程序的主要组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。 (3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作) (4). 程序总是从main函数开始执行 (5). C程序对计算机的操作由C语句完成 (6.)数据声明和语句最后必须有分号 (7.)C语言本身不提供输入输出语句 (8.)程序应当包含注释,增加可读性 4、算法(1)算法+ 数据结构= 程序 (2)顺序结构、选择结构、循环结构是表示一个良好算法的基本结构 (3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。 流程线不要忘记画箭头,否则难以判定各框的执行次序。 算法流程图的结构特点:只有一个入口;只有一个出口(一个判断框有两个出口;一个选择结构只有一个出口)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。 二、顺序结构设计 5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。C语言对标识符的规定: (1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 (2)长度:在TC中最多允许32个字符,建议不要超过8个 如果系统规定标识符长度为8,那么x1234567A和x1234567B会被视为同一标识符。 (3)在C语言中,标识符大小写敏感。如ABC、aBC、abc分别代表3种不同的标识符(4)标识符不能与C语言的保留字、系统标准库函数同名。 program to_ _to file_2 ab1_c3 为合法标识符 非法字符举例:yes? (含有不合法字符“?”)123(第一个字符不能为数字)go to(标识符中不允许有空格) a_80%(出现非法字符“%”)if与关键字相同) 6、常量与变量 注意:以下变量定义形式是错误的int a,int b; int a;b; (1)整型常量 ·十进制整型:能出现数字0~9,可带正负号如:0,11,95,-2

C语言程序设计基础测试题-答案

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2] 下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4] 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6] C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8] 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言程序设计基础

题型及分数: 单选题:25分 判断题:10分 填空题:15分 程序分析题:20分 编程题:30分 其中:课后习题及复习大纲中相类似题所占比例在70%-80%。 带*号的内容和复习题为较难部分,为非重点考察内容。 第一章C语言程序设计基础(出题比例4-6%) 1.程序设计语言的基本概念 ?程序 ?程序设计语言 ?常用程序设计语言及其类型 ?源程序、编译、目标文件、连接、可执行程序 ?编程的步骤 2.C语言程序的基本结构 (1) C源程序的框架 C源程序的框架,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 (2) C语言源程序的书写规则: ?C源程序是由一个主函数和若干个其它函数组成的; ?函数名后必须有小括号,函数体放在大括号内; ?C程序对大、小写字母书写敏感; ?每句的末尾加分号; ?可以一行多句; ?可以一句多行; ?可以在程序的任何位置加注释,注释的方式。 3.C语言程序设计的的基本步骤和调试过程 复习题:/***** 1. 每个C语言程序中有且仅有一个函数,它是程序的入口和出口。 2. 引用C语言标准库函数,一般要用预处理命令将其头文件包含进来。 3. C语言属于() A.高级语言 B. 低级语言 C.中级语言 D. 机器语言 4. C语言规定了若干有特定意义、为C语言专用的单词,称为关键字。 5. C语言的语句以结尾。 6. C语言源程序经过编译以后生成文件,生成的文件名后缀为,经过连接后生成文件,后缀为 7.C语言中不能使用关键字作为标识符。(√)

第二章基本数据类型,运算符与表达式(出题比例20-30%) 关键知识点: 1.常量,变量: a)标识符的命名规则 b)常量,变量的概念:直接常量,符号常量,变量必须先定义后使用 c)变量名和变量值的区别。 2.C语言中的基本数据类型 a)各种数据类型的数据在内存中的存放方式 b)掌握各种数据类型数据的常量使用方法,特别注意字符常量和字符串常量的区别使 用 c)整型,字符型,浮点型变量的定义和引用方法 d)数据的数据类型,数据的取值范围,数据在内存中存放方式三者之间的联系 3.运算符和表达式的使用方法 a)自增、自减运算符 b)赋值运算符 c)算术运算符及表达式 d)逗号运算符及表达式 e)*位运算符及表达式 f)sizeof运算符及表达式 g)*强制数据类型转换符及表达式 4.运算符的优先级和结合性 本章复习题: 课后习题:一、单选题,二、填空题 1. C语言的标识符命名规则中,第一个字符可以为字符‘#’或‘&’ .(×)。 2.下列全部属于合法的用户标识符的是() A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main 3. C语言对字母的大小写不敏感。(×) 4. C语言中,符号常量由宏定义命令#define来定义。(√) 5. 在VC 6.0中,数据类型int,char,float和double所占的内存字节数分别是、、和。 6.下列四个选项中,均是合法的整型常量的选项是A A.160 –0XFFFF 011 B。-0XCDF 01A 0XE C.-01 986,012 0688 D。-0X48a 2e5 0x

C语言基础知识(详细版)

C语言程序的结构认识 用一个简单的c 程序例子,介绍c 语言的基本构成、格式、以及良好的书写风格,使小伙伴对 c 语言有个 初步认识。 例1:计算两个整数之和的c 程序: #include main() { int a,b,sum; /* 定义变量a,b ,sum 为整型变量*/ a=20; /* 把整数20 赋值给整型变量a*/ b=15; /* 把整数15 赋值给整型变量b*/ sum=a+b; /* 把两个数之和赋值给整型变量sum*/ printf( “ a=%d,b=%d,sum=%d\n” ,a,b,sum); /* 把计算结果输出到显示屏上*/ } 重点说明: 1、任何一个c 语言程序都必须包括以下格式: main() { } 这是c 语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。 2、main() - 在c 语言中称之为“主函数” ,一个c 程序有且仅有一个main 函数,任何一个c 程序总是从 main 函数开始执行,main 函数后面的一对圆括号不能省略。 3、被大括号{ }括起来的内容称为main 函数的函数体,这部分内容就是计算机要执行的内容。 4、在{ }里面每一句话后面都有一个分号(; ),在c 语言中,我们把以一个分号结尾的一句话叫做一个 c 语 言的语句,分号是语句结束的标志。 5、printf( “ a=%d,b=%d,sum=%d\n” ,a,b,sum); 通过执行这条c 语言系统提供给我们直接使用的屏幕输出 函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果: a=20,b=15,sum=35 6、#include 注意:(1)以#号开头 (2)不以分号结尾这一行没有分号,所以不是语句,在c 语言中称之为命令行,或者叫做“预编译处理命令” 。 7、程序中以/* 开头并且以*/ 结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。 C程序的生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序的扩展名为.c ,目标程序的扩展名为.obj , 可执行程序的扩展名为.exe 。

c语言入门经典必背个程序

c语言入门经典必背个程序 c语言入门经典必背18个程序 1 、/* 输出9*9 口诀。共9 行9 列,i 控制行,j 控制列。*/ #include "stdio.h" main() {int i,j,result; for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占3 位*/ } printf("\n");/* 每一行后换行*/ } } 2 、/* 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔 子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf("\n");/* 控制输出,每行四个*/ f1=f1+f2; /* 前两个月加起来赋值给第三个月*/ f2=f1+f2; /* 前两个月加起来赋值给第三个月*/ } } 3 、/* 判断101-200 之间有多少个素数,并输出所有素数及素数的个数。 程序分析:判断素数的方法:用一个数分别去除 2 到sqrt( 这个数) ,如果能被整除, 则表明此数不是素数,反之是素数。*/ #include "math.h" main()

C语言编程基础习题答案

《C语言编程基础(第2版)》习题答案 前言 《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。编程答案只是实现题目算法要求的一种,并不一定是最好的。希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。由于作者水平所限,错误和不当之处在所难免,恳请批评指正。 习题一 1、填空题。 ⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函 数。C程序的执行从___名为main的主__函数开始。 ⑵每个C语句必须以__分__号结束。 ⑶标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标 识符的第一个字符必须是__英文字母__或__下划线__。 ⑷关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。 ⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。 2、选择题。 ⑴下面合法的C语言标识符是___ C ___。 ⑵ C语言中主函数的个数是___ A______。 ⑶以下有关注释的描述中,错误的是___ C ___。 ⑷ C程序中,main函数的位置____ D___。 3、指出并改正下面程序中的错误。 ⑴ main 应为 main() ⑵应在本程序最后加上大括号 }。 ⑶语句结束应有分号。如: int a,b; a=1;b=2; printf(%d,a+b); 、分析下列程序,写出运行结果。4. ⑴该程序是计算两个整数a和b的乘积并赋值给c,运行结果为: c=30 ⑵该程序输出一个字符串和一排星号,运行结果为:

C语言基础编程题

C语言基础编程题 This model paper was revised by the Standardization Office on December 10, 2020

5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1 + 2^2 + 2^3 + \cdots + 2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result = 计算结果”输出。 输入样例: 输出样例: #include<> #include<> int main() { int i,n,sum=0;

scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result = %d\n",sum); return 0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。 \frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times 5} + \frac{3!}{3\times 5\times 7}+ \cdots +\frac{i!}{3\times 5\times \cdots \times (2\times i+1)}+ \cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式:

在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> int main() { double a=1,b=3,i=1,j=3; double eps,m=1,sum=0; scanf("%le", &eps); while(m>eps) { m=a/b;

C语言程序设计基础教程习题答案

习题答案 第1章 1.1 填空题 1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。 1.1.2 一个函数由__函数头__和__函数体__两部分组成。 1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完 成的。 1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展 名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。 1.1.5 C语言程序的基本单位或者模块是__函数__。 1.1.6 C语言程序的语句结束符是_;___。 1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。 1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。 1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。 且第一个字符必须为字母或下划线。 1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。 1.2 选择题 1.2.1 一个C程序的执行是从( A )。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 1.2.2 以下叙述不正确的是(C)。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C) 在C程序中,注释说明只能位于一条语句的后面 D) C程序的基本组成单位是函数 1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 1.2.4 C编译程序是(A)。 A)将C源程序编译成目标程序的程序 B)一组机器语言指令 C) 将C源程序编译成应用软件 D) C程序的机器语言版本 1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。 A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序 1.2.6 以下叙述中正确的是(C)。 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚,具有其他语言的一切优点 1.2.7 以下叙述中正确的是(A)。 A) C程序中注释部分可以出现在程序中任意合适的地方 B) 花括号“{”和“}”只能作为函数体的定界符 C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名 D) 分号是C语句之间的分隔符,不是语句的一部分 1.2.8 以下叙述中正确的是(B)。

40个C语言的基础编程题

C语言基础编程题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 2.程序源代码: main() {long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf("\n");/*控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/ }} ========================================【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 2.程序源代码: #include "math.h" main() {int m,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;} if(leap) {printf("%-4d",m);h++; if(h%10==0) printf("\n");} leap=1;} printf("\nThe total is %d",h);} ======================================== 【程序3】 题目:打印出所有的“水仙花数”,所谓“水仙花数”是 指一个三位数,其各位数字立方和等于该数本身。例 如:153是一个“水仙花数”,因为153=1的三次方+ 5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个 数分解出个位,十位,百位。 2.程序源代码: main() {int i,j,k,n; printf("'water flower'number is:"); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) {printf("%-5d",n); } } printf("\n");} ======================================== 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打 印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小 的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程 已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值, 并用n除以k的商,作为新的正整数你n,重复执行第 一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复 执行第一步。 2.程序源代码: /* zheng int is divided yinshu*/ main() {int n,i; printf("\nplease input a number:\n"); scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) {while(n!=i) {if(n%i==0) { printf("%d*",i); n=n/i; } else break; } } printf("%d",n);} ======================================== 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成 绩>=90分的同学用A表示,60-89分之间的用B表 示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 2.程序源代码: main() {int score; char grade; printf("please input a score\n"); scanf("%d",&score); grade=score>=90?'A':(score>=60?'B':'C'); printf("%d belongs to %c",score,grade);} ======================================== 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最 小公倍数。 1.程序分析:利用辗除法。 2.程序源代码: 第一种做法: #include "stdio.h" void main() { int m,n,i; printf("请输入两个正整数:"); scanf("%d%d",&m,&n); if(m='a'&&c<='z'||c>='A'&&c<='Z') letters++; else if(c==' ')

C语言基本程序

13.输入一个五位以内正整数,判断该数是几位数,并以逆序的形式输出。(如输入12345,输出成54321) # include void main (){ int i=0,n; scanf("%d",&n) ; while(n>0) { printf("%d",n%10); n/=10; i++; } printf("\n%d",i); getch() ; } 14.输入两个自然数m和n,求它们的最小公倍数 # include void main (){ int a,b,p; scanf("%d%d",&a,&b) ; for(p=1;p<=a*b;p++) if(p%a==0&&p%b==0)break; printf("\n%d",p); getch() ; } 15.输入两个自然数m和n,求它们的最大公因数 # include void main (){ int a,b,p; scanf("%d%d",&a,&b); p=a>b?a:b; for(;p>=0;p--) if(a%p==0&&b%p==0)break; printf("\n%d",p); getch() ; } 16、根据公式求π值。求π的近似值,直到最后一项的值小于10e-8 为止. # include # include void main (){ int i=1; double t=1,s=0; while (t>=10e-8){ s+=t; i++;

t=1.0/i/i; } printf("%g",sqrt(s*6)); getch(); } 22输出如下由星号组成的三角形图案 (2).# include void main (){ int i,j,k; for(i=1;i<=5;i++){ for(j=1;j<=5-i;j++) printf(" ") ; for(k=1;k<=i;k++) printf("*"); printf("\n"); } getch(); } (4).# include void main(){ int i,j,k; for(i=1;i<=5;i++){ for(j=1;j=1;k--) printf("*") ; printf("\n") ; } getch(); } 23.水仙花 # include void main(){ int i,a,b,c; for(i=100;i<1000;i++){ a=i%10; b=i/10%10; c=i/100; if(a*a*a+b*b*b+c*c*c==i) printf("%d\t",i) ;} getch(); } 24.设计一程序,对输入的字符串进行过滤,挑选数字串,如输入字符串:abc123edf456gh,得输出结果:123456。

c语言基础程序

4. Some Tests With switch-case : A student’s letter grade is calculated according to the following schedule.Write a C program with switch that accepts a students numerical grade.and displays the letter grade. Numerical grade letter grade greater than or equal to 90 A less than 90 but greater than or equal to 80 B less than 80 but greater than or equal to 70 C less than 70 but greater than or equal to 60 D less than 60 E #include main() { int marks,index; printf("please input a mark\n"); scanf("%d",&marks); index=marks/10; switch(index) { case 10: case 9: printf("grade=A\n"); break; case 8: printf("grade=B\n"); break; case 7: printf("grade=C\n"); break; case 6: printf("grade=D\n"); break; default: printf("grade=E\n"); break; } }

C语言 程序设计基础试题一及答案

《程序设计基础》考试试卷一 班级姓名学号____________ 一、选择题(20分) 1.算法具有五个特性,以下选项中不属于算法特性的是 (A)有穷性(B)简洁性(C)可行性(D)确定性 2.以下选项中可作为C语言合法常量的是 (A)-80. (B)-080 (C) (D) 3.以下叙述中正确的是 (A)用C语言实现的算法必须要有输入和输出操作 (B)用C语言实现的算法可以没有输出但必须要有输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出 4.以下不能定义为用户标识符是 (A)Main (B) _0 (C) _int (D) sizeof 5.以下选项中,不能作为合法常量的是 (A) (B) (C)+4 (D) 6.数字字符0的ASCII值为48,若有以下程序 main() {char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a);} 程序运行后的输出结果是 (A)3,2 (B)50,2 (C)2,2 (D)2,50 7.有以下程序 main(){

int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是 (A) (B) (C) (D) 8.有以下语句:int b;char c[10];,则正确的输入语句是 A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c); (C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 9.有以下程序 main(){ int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 10.有以下程序 main(){ int a,b,d=25; a=d/10%9;b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)6,1 B)2,1 C)6,0 D)2,0 11.有以下程序 main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是 (A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3 12.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

C语言基础复习题与答案

《C语言程序设计》习题篇 第一章 C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是( D)。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2. 下列字符序列中,不可用作C语言标识符的是(B )。 A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是(A )。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符( C)。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是( B)。 A.\\ B.\0xAA C.\t D.\0 6. 不属于C语言关键字的是( D)。 A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是(B )。 A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 9. 一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行 B.语句 C.函数 D.字符 11. 下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外

C语言编程基础考试试题

C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C语言的标准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐,X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main() { char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) pulPtr = pulArray;

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确的C语言标识符就是() A.%X B.a+b C.a123 D.test! 2、已定义int a,b;则以下不正确的C语句就是( ) A.a*=5; B.b/=2; C.a+=1、75; D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x的值为( ) x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52 4、C语言中的标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母 B.必须为下划线 C.必须为字母或下划线 D.可以就是字母、数字、下划线中的任一字符 5、下面正确的字符常量就是( ) A.“c” B.’\\” C.‘w’ D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为( )。 A.0,1 B.1,0 C.2,0 D.不确定 7、以下不正确的C语言标识符就是( ) A) int B) a_1_2 C) ab1exe D) _x 8、以下就是正确的C语言标识符就是( )。 A) #define B) _123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符的一组就是( ) 。

A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ??? oodbs tart$it line# pow 10、下面各选项组中,均就是C语言关键字的组就是( ) 。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 11、下列不属于C语言关键字的就是( ) 。 A) default B) register C) enum D) external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 13、下列关于C语言的叙述错误的就是( ) A) 大写字母与小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量与右边的值可以就是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 14、在C语言中,错误的int类型的常数就是( ) 。 A) 32768 B) 0 C) 037 D) 0xAF 15、将字符g赋给字符变量c,正确的表达式就是( ) 。 A) c=\147

相关文档
最新文档