高级语言程序设计(C++I)练习题 (5)

高级语言程序设计(C++I)练习题 (5)
高级语言程序设计(C++I)练习题 (5)

第3章函数

3.1 选择题

1.以下正确的函数原型为( )。

(a) f( int x; int y ); (b) void f( x, y );

(c) void f( int x, y ); (d) void f( int, int );

2.有函数原型 void fun1( int ); 下面选项中,不正确的调用是( )。

(a) double x = 2.17 ; fun1( x );

(b) int a = 15 ; fun1( a*3.14 ) ;

(c) int b = 100 ; fun1( & b );

(d) fun1( 256 );

3.有函数原型 void fun2( int * ); 下面选项中,正确的调用是( )。

(a) double x = 2.17 ; fun2( &x );

(b) int a = 15 ; fun2( a*3.14 );

(c) int b = 100 ; fun2( &b );

(d) fun2( 256 );

4.有函数原型 void fun3( int & ); 下面选项中,正确的调用是( )。

(a) int x = 2.17; fun3( &x );

(b) int a = 15; fun3( a*3.14 );

(c) int b = 100; fun3( b );

(d) fun3( 256 ) ;

5.有声明 int fun4( int ); int (*pf)(int) = fun4;

下面选项中,正确的调用是( )。

(a) int a = 15 ;int n = fun4( &a ); (b) int a = 15;

cout<

(c) cout<<(*pf)( 256 ); (d) cout << *pf( 256 );

注意:选项(b)也可以调用函数fun4,但由于实参为浮点型表达式,VC6编译器将出现与形参类型不匹配的警告。

6.在VC中,若定义一个函数的返回类型为void,以下叙述正确的是( )。

(a) 用语句调用函数 (b) 用表达式调用函数

(c) 没有返回值 (d) 通过return语句可

以返回指定值

7.函数参数的默认值不允许为( )。

(a) 全局常量 (b) 全局变量

(c) 局部变量 (d) 函数调用

8.使用重载函数编程序的目的是( )。

(a) 使用相同的函数名调用功能相似的函数(b) 共享程序代

(c) 提高程序的运行速度(d) 节省存贮空

9.下列的描述中( )是错误的。

(a) 使用全局变量可以从被调用函数中获取多个操作结果

(b) 局部变量可以初始化,若不初始化,则系统默认它的值为0

(c) 当函数调用完后,静态局部变量的值不会消失

(d) 全局变量若不初始化,则系统默认它的值为0

10.下列选项中,( )的具有文件作用域。

(a) 语句标号 (b) 局部变量

(c) 全局变量 (d) 静态全局变量

3.2 阅读下列程序,写出执行结果

1. #include

#include

int f( int ) ;

void main()

{ int i;

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

cout << f( i ) << endl;

}

int f( int a )

{ int b = 0 , c = 1;

b ++; c++;

return ( a + pow( b, 2 ) + c );

}

2. void func(int a, int b, int c = 3, int d = 4 );

#include

void main()

{ func( 10, 15, 20, 30 );

func( 10, 11, 12 );

func( 12, 12 );

}

void func( int a, int b, int c, int d )

{ cout << a << '\t' << b << '\t' << c << '\t' << d << endl; }

3. #include

void func( int, int, int * ) ;

void main()

{ int x, y, z;

func( 5, 6, &x );

func( 7, x, &y );

func( x, y, &z );

cout << x << " ," << y << ", "<< z << endl;

}

void func( int a , int b , int *c )

{ b += a ; *c = b – a ; }

4. #include

void func( int, int, int & );

void main()

{ int x=0 , y=1 , z=2;

func( 1 , 2 , x );

func( x + y , y , y );

func( z , x + y , z );

cout << x << " ," << y << ", "<< z << endl ;

}

void func( int a , int b , int &c )

{ b += a ; c = b – a ; }

3

5. #include

int f2( int, int );

int f1( int a , int b )

{ int c ;

a += a ;

b += b ;

c = f2( a + b , ++ b );

return c;

}

int f2( int a , int b )

{ int c ;

c = b % 2 ;

return a + c;

}

void main()

{ int a = 3 , b = 4;

cout << f1( a , b ) << endl;

}

6. #include

int age( int n )

{ int f;

if( n == 1 ) f = 10 ;

else f = age( n-1 ) + 2;

return f ;

}

void main()

{ cout << "age : " << age( 5 ) << endl; }

7. #include

int f1( int a , int b ) { return a + b ; }

int f2( int a ,int b ) { return a – b ; }

int f3( int( *t )( int , int ) , int a , int b ) { return ( *t )( a, b ) ; } void main()

{ int ( *p )( int, int );

p = f1 ;

cout << f3( p, 4, 8 ) << endl;

p = f2 ;

cout << f3( p, 8, 4 ) << endl;

}

8. #include

int sub( int, int );

int a = 1 ;

void main()

{ int m = 1, n = 2, f;

f = sub( m, n );

cout << a << '\t' << f << endl;

f = sub( m, n ) ;

cout << a << '\t' << f << endl;

}

int sub( int c, int d )

{ static int m = 2, n = 5 ;

cout << m << '\t' << n << '\t' << endl;

a = ++ a ; c = m ++ ; d = n ++;

return c + d ;

}

3.3 编程题

1.已知 x sh x sh shx sh y 32)1(++= , 其中sh 为双曲正弦函数,即2

)(t t e e t sh --=。编一程序,输入x 的值,求y 的值。

解答:略。

2. 输入m 、n 和p 的值,求s = 5

55333212121p n m ++++++++++ 的值。注意

判运算中的溢出。

;

3.输入a,b 和c 的值,编写一个程序求这三个数的最大值和最小值。要求把求最大值和最小值编写成函数,并使用指针或引用作为形式参数把结果返回函数main 。

4.用线性同余法生成随机数序列的公式为:

r k = ( multiplier * r k-1 + increment ) % modulus

序列中的每一个数r k ,可以由它的前一个数r k-1计算出来。例如,如果有:

r k = ( 25173 * r k-1 + 13849 ) % 65536

可以产生 65536个各不相同的整型随机数。设计一个函数作随机数生成器,生成一位或两位数的随机数。

利用这个随机数生成器,编写一个小学生四则运算的练习程序:

第7章 ·可以进行难度选择。一级难度只用一位数,二级难度用两位

数;

第8章 ·可以选择运算类型,包括加、减、乘、除等;

第9章 ·给出错误提示;

第10章 ·可以统计成绩。

5.已知勒让德多项式为

?????>---===--1/))()1()()12((101)(21n n x p n x p n n x

n x p n n n

编一程序,从键盘上输入x 和n 的值,使用递归函数求p n (x)的值。

6.把以下程序中的print()函数改写为等价的递归函数。

#include

void print( int w )

{ for( int i = 1 ; i <= w ; i ++ )

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

cout << i << " " ;

cout << endl ;

}

} void main()

{ print( 5 ) ; }

运行显示:

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

7.已知用梯形法求积分的公式为:∑-=+++=11

)(2))()((n i n ih a f b f a f h T ,其中

h = ( b -a ) / n ,n 为积分区间的等分数,编程序求如下积分的值。要求把求积分公式编写成一个函数,并使用函数指针作为形式参数。调用该函数时,给定不同的被积函数作为实际参数求不同的积分。

① dx x ?+10214 ② dx x ?+2121 ③ ?

20sin π

xdx 8.编写一个程序,包含三个重载的display 函数和一个主函数。要求第一个函数输出double 值,前面用字符串“a double :”引导,第二个函数输出一个int 值,前面用字符串“a int :”引导,第三个函数输出一个char 字符值,前面用字符串“a char :”引导,在主函数中分别用double 、int 和char 型变量作为实参调用display 函数。

9.使用重载函数编程序分别把两个数和三个数从大到小排列。

10.给定求组合数公式为:)!

(!!n m n m c n m -=,编一程序,输入m 和n 的值,

求n m c 的值。注意优化算法,降低溢出可能。要求主函数调用以下函数求组合数:

int Fabricate( int m, int n ) ;

//返回n

m c 的值 Fabricate 函数内又须调用Multi 函数:

int Multi( int m, int n ) ; // 返回 m × m-1 × … × n 程序由4个文件组成。头文件存放函数原型作为调用接口;其他3个cpp 文件分别是main 、Fabricate 和Multi 函数的定义。

《C程序设计》作业内容

实验一C语言的运行环境的使用 一、目的与要求 1. 了解Windows系统下C语言的运行环境,熟悉C程序调试、运行的基本操作方法。 2. 熟练掌握编辑、编译、连接和运行C程序的方法。 3. 通过运行简单的C程序,初步了解C源程序的特点。 4. 初步理解C语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运 行结果的基本输出方法。 二、实验例题 在C语言运行环境下,按以下例题要求完成程序的编辑、编译、连接和运行,直至取得正确的运行结果。 【例1】编程实现在屏幕上显示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. (1)输入如下程序: #include int main() { printf("Hello,World!\n"); printf("Wolcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); return 0; } (2)将输入的程序以文件名example.c存盘。 (3)编译:通过“组建”(Build) 下拉菜单中的“编译”(compile)命令,编译example.c,若出现编译错误,则修改程序,重新编译,直至编译成功,系统自动生成目标文件example.obj。 (4)连接:通过“组建”(Build)下拉菜单中的“组建”(Build)命令,生成以.exe为扩展名的可执行文件example.exe。 (5)运行:通过“组建”菜单下的“执行”(Excute)命令运行程序并观察运行结果。 【例2】编写程序,将两个整数相加,并输出结果。 #include int main() { int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %d\n”,sum); return 0;}

C语言一些常用语句

C语言一些常用语句 2010-03-25 09:55 423人阅读评论(0) 收藏举报一break 1. break语句形式:break; 2. break语句功能: A. switch语句中,break语句会终止其后语句的执行,退出switch语句。 B. 使一个循环立即结束,也就是说在循环中遇到break语句时,循环立即终止, 程序转到循环体后的第一个语句去继续执行。 3. 注: A. break语句在循环中使用时,总是与if一起使用,当条件满足(或不满足) 时,负责退出循环。 B. 如果循环体中使用switch语句,而break出现在switch语句中,则它只用 于结束switch,而不影响循环。 C. break语句只能结束包含它的最内层循环,而不能跳了多重循环。 4. 例: break语句的执行只能从while循环中退出,继续执行for循环的其它语句 而不是退出外层循环。 for() { : : while()

{ : : if() break; : : } : : } 二。continue 1.continue语句形式:continue; 2.continue语句功能:它只能出现在循环体中,其功能是立即结束本次循环, 即遇到continue语句时,不执行循环体中continue后的语句,立即转去判断循环条件是否成立。 3.Continue与break语句的区别: continue只是结束本次循环,而不是终止整个循 环语句的执行,break则是终止整个循环语句的 执行,转到循环语句后的下一条语句去执行。 程序表达式及流程图如下:

(1.) while(表达式1) (2.)while(表达式1) { { : : If(表达式2) break; if(表达式2) continue; : : } } 三.goto 1.goto语句形式:goto语句是无条件转向语句,其一般形式为: goto 语句标号; 2.功能:goto语句往往用来从多重循环中跳出。它在解决一些特定问题时很方便,但由于goto语句难于控制,尽量少用。 3.例: IN: For() { : : Goto IN; }

C语言程序设计练习题(含程序及参考答案)

1、定义一个函数int fun(int a,int b,int c) ,它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2, —般三角形返回1,若不能构成三角形返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nl 叩ut a,b,c:"); scanf("%d%d%d", &a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); }

2、编写一个程序,将两个变量的值交换,例如变量a中的值原为 3 , b中的值原为8,程序运行后a中的值为8, b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c 中。 例如,输入的数为:55 12 34 , 输出结果应当是:a=55.0,b=34.0,c=12.0 。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;}

C语言程序设计作业参考答案

《C语言程序设计》作业参考答案 作业一 C语言概述 一、选择题: 1-5 ACDCB 二、编程题: main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法 一、填空题: 1.确定性有效性有零个或多个输入有一个或多个输出 2.顺序结构选择结构循环结构 3.函数 作业三数据类型、运算符与表达式 一、选择题: 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构 一、选择题: 1-5 BCDDD 6-10 BDADD 二、填空题: 1.【31.415920,3.14159e+01】 2.【c=k】 3.【a=1,b=空格,c=2】 4.【a=12,b=345】 5.【c=A】 作业五选择结构 一、选择题:1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题: 1.【-1】 2.【3】 3.【4】 4.【11】 5.【97或'a'】 作业六循环结构 一、选择题: 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB

作业七数组 一、选择题: 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题: 1. LBLMNP 2. SW* 3. mo 4. a=2,b=1 作业八函数 一、选择题: 1-5 AAACA 二、填空题: 1.【编程中的main( )函数】 2.【函数说明部分】和【函数体】 3.【–125= –5*5*5】 4.【void add (float a, float b)】【float add (float a, float b)】 5.【i=7; j=6; x=7 i=2; j=7; x=5】 6.【111】 三、编程题: 1.参考代码 main() { int score,temp,log; char grade; log=1; while (log) { printf(“enter score:”); scanf(“%d”,&score); if ((score>100)||(score<0)) printf(“\n error,try again! \n”); else log=0; } if (score==100)temp=9; else temp=(score-score%10)/10; switch(temp) { case 0:case 1:case2: case 3:case 4:case 5:grade=’E’;break; case 6:grade=’D’;break; case 7:grade=’C’;break; case 8:grade=’B’;break; case 9:grade=’A’; } printf(“score=%d,grade=%c\n”,score,grade); } 2.解:设计以高度n为参数的函数trangle(int n),打印等边三角形。参考程序如下: #include

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C程序设计作业样本

第一章作业 答案:一,59,14.4,28.e 二1小题,59 2,15 一、将数89、20.25、40.875用十六进制表达 二、填空 1.在C语言中,数值常量0x3b十进制值是。 2.字母f ASCII码为十进制数___________。 第三章作业 一、选取题: 1、下列变量名中, B 是非法。 A) Tom B) 3n C) little_boy D) c10 2、若有如下类型阐明 char a; int b; float c; double d;则表达式a*b+d-c成果类型是(A ) A)float B)char C)int D)double 3、若x为整型,则逗号表达式(x=4*5,x*5),x+25成果及x值分别是(C )对的答案是100,45 A)45 20 B)125 20 C)125 45 D)100 100 4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)值是 C 。 A) 5 B) 8 C) 6 D)7 5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2值为 C 。 A) 12 B) 11 C)不拟定值D) 10

6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型 A) int B) float C) double D) char 7、C语言中不可用作标记符字符有( C ) A下划线 B % C数字 D字母 8、下面四个选项中,均是合法整型常量是(D ) A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e5 9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型 A. int B. float C. double D. char 10.若a是int型变量,则表达式(a=4*5,a*2),a+4值为( C ) A. 20 B.22 C. 24 D. 44 第四章作业 一、选取题 1、若x为int型变量,则执行如下语句后x= C 。 x=5; x-=x-=x+x; A. -10 B. -5 C.0 D.10 2、在printf()函数格式阐明符中,字符型数输出格式阐明符是 D 。

《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语言程序设计》综合练习题与答案 一、简要问答下列问题 1.什么是源程序? 2.C语言源程序的编译过程是怎样的? 3.简述C语言的特点 4.C/C++程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的结构。 5.函数的返回值是通过什么语句来实现的,它的格式是什么? 6.在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序? 7.在计算机中,存储的数据为什么要分成多种不同的数据类型? 8.什么是常量?什么是变量? 9.C语言的五种基本数据类型有哪些?它们的关键字和所占的字节数分别是什么? 10.判断标识符是否合法的三条规则是什么? 11.什么是C语言的关键字?关键字对标示符有何影响? 12.全局变量和局部变量有什么区别? 13.什么是空语句,什么是语句块? 14.结构化程序设计的三种基本结构是什么? 15.三种循环语句各有什么特点? 16.什么叫多重循环结构? 17.Continue语句与break语句有什么区别? 18.字符与字符串有什么区别?‘b’与“b”相同吗? 19.什么是数组?一维数组的定义形式是怎样的? 20.字符串的结束标记是什么? 21.什么是按位操作?C语言对按位操作有哪些要求? 22.什么是指针?指针的两个操作符表示什么意义? 23.指针和数组有什么关系? 24.指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别? 25.函数是由哪三部分组成的?函数定义的一般形式是什么? 26.函数原型是什么情况下使用?有什么作用? 27.形参和实参有什么关系,函数的两种调用方式是什么? 28.什么是函数的递归调用? 29.什么是函数指针?说明定义函数指针的一般形式。 30.什么是内部函数?什么是外部函数? 31.C语言的四种用户定义数据类型是什么? 32.C系统提供的三种主要预处理功能是什么? 33.什么是文件包含? 34.什么是文件?什么是流?

c程序设计作业

1、分析下面程序: # include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n"c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (1)运行时会输出什么信息?为什么? (2)如果将程序第4,5行改为 c1=197; c2=198; 运行时会输出什么信息?为什么? (3)如果将程序第3行改为 int c1,c2; 运行时会输出什么信息?为什么? 答:(1)程序运行不了,因为程序存在错误。正确的程序为:#include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (2)如果将程序第4,5行改为 c1=197; c2=198; 运行时会输出: (3)如果将程序第3行改为 int c1,c2; 运行时会输出:

因为int表示整型,%c是输出字符,a的ASCLL代码是97,b的是98,所以输出 c1=a,c2=b.%d是表示输出十进制整型,所以输出c1=97,c2=98 2、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。 问在键盘上如何输入? #include int main() { int a,b; float x,y; char c1,c2; scanf("a=%db=%d",&a,&b); scanf("%f%e",&a,&y); scanf("%c%c",&c1,&c2); return 0; } 答:输入如图: 输出如图: (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容, 供参考,感谢您的配合和支持)

第1章 C语言基本知识

第一章C语言基本知识 一、C语言的产生和发展 1、C语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL第二字母)ALGOL60(高级语言)->CPL(硬件支持)-BCPC->B->C->标准C->ANSI C->ISO C 2、语言既具有高级语言特性,又具有低级语言特性-中级语言。 二、C语言的特点 1、语言简明、紧凑、使用方便、灵活。 2、运算符丰富。 3、数据结构丰富,具有现代化语言的各种数据结构。 4、具有结构化的控制语句。 5、语法限制不太严格,程序设计自由度大。 6、C语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 7、生成目标代码质量高,程序执行效率高。 8、用C语言写的程序可移植性好。 三、C程序的基本规则 1、C程序由函数构成。(亦称为函数语言。) 2、C程序中每条语句都用一个分号结尾,分号是C程序语句的必要组成部分,语句最后的分号不能省略。 3、每个C程序都有一个主函数(main()),且只有一个主函数。并且程序是从主函数开始执行的。 4、调用C语言的标准函数通常要在程序开头使用包含命令include,C程序中的命令不用分号结尾。 5、C程序中的变量必须先定义,后使用。 6、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写,同一字母的大小写被作为两个不同的字符。 7、C程序中可以用“/*……*/”的形式加注释。 8、C程序书写格式自由,一行内可以写几条语句,一条语句可以写在多行。 9.一个函数包含两个部分: (1)函数的说明部分。包括函数名,函数类型,函数属性,函数参数名等。 如:int max(x,y) int x,y; 函数名后必须跟一对圆括弧,函数参数可以没有,如:main()。 (2)函数体。

(完整版)C程序设计语言复习题(试题及答案版)

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.360docs.net/doc/d410157541.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

c语言基本代码

c语言基本代码 Prepared on 22 November 2020

'\0':是字符串的结束标志 ‘‘:空格 auto:声明自动变量一般不使用 double:声明双精度变量或函数(和%lf连用), m=(double)(v-l)/l*100+; 这个式子加个double是将后面式子中非double类型强制转换类型为double float:声明浮点型变量或函数(和%f连用),单精度 int:声明整型变量或函数(与%d连用) struct:声明结构体变量或函数 long:声明长整型变量或函数 switch:用于开关语句 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) extern:声明变量是在其他文件正声明(也可以看做是引用变量) return:子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const:声明只读变量 short:声明短整型变量或函数 unsigned:声明无符号类型变量或函数 signed:生命有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支 goto:无条件跳转语句 sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的 volatile:说明变量在程序执行中可被隐含地改变 static:声明静态变量 char:声明字符型变量或函数 strcmp:strcmp(s1,s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环: for:一种循环语句(可意会不可言传)for(表达式1;表达式2;表达式3)while:循环语句的循环条件 do:循环语句的循环体 break:跳出当前循环 continue:结束当前循环,开始下一轮循环 判断: d=a>30b:c:相当于if暨当a>30是d=b否则d=c;

C语言程序设计-作业与答案

《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。

c语言基本代码

c语言基本代码 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

'\0':是字符串的结束标志 ‘‘:空格 auto:声明自动变量一般不使用 double:声明双精度变量或函数(和%lf连用), m=(double)(v-l)/l*100+; 这个式子加个double是将后面式子中非double类型强制转换类型为double float:声明浮点型变量或函数(和%f连用),单精度 int:声明整型变量或函数(与%d连用) struct:声明结构体变量或函数 long:声明长整型变量或函数 switch:用于开关语句 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) extern:声明变量是在其他文件正声明(也可以看做是引用变量) return:子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const:声明只读变量 short:声明短整型变量或函数 unsigned:声明无符号类型变量或函数 signed:生命有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支

goto:无条件跳转语句 sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的 volatile:说明变量在程序执行中可被隐含地改变 static:声明静态变量 char:声明字符型变量或函数 strcmp:strcmp(s1,s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环: for:一种循环语句(可意会不可言传)for(表达式1;表达式2;表达式3)while:循环语句的循环条件 do:循环语句的循环体 break:跳出当前循环 continue:结束当前循环,开始下一轮循环 判断: d=a>30b:c:相当于if暨当a>30是d=b否则d=c; if:条件语句与elseifelse并用1、在C语言中一般认为“0”是假,其他不是“0”的都是真。 2、if()里面为真,则进入if下的大括弧{},为假,就跳过。 以此题为例: 若X是“0”(为假)。则里面为假,跳过if下的大{} 若X不是“0”(为真)。则里面为真,进入if下的大{}。 case:开关语句分支,与switch(表达式)连用,case常量表达式;default冒号后面的语句,表示除去各种casei:情况外,其它情况均用default冒号后面的语句处理,即缺省case默认case的处理 else:条件语句否定分支(与if连用)

C程序设计练习题1

1.从键盘上输入两个复数的实部与虚部,求出并输出它们的和、积、商。 2.以下程序的功能如(图1)。 |x+1| x<0 f= 2x+1 0≤x≤5 sinx+5 x>5 3.输入三个整数x,y,z,请把这三个数由小到大输出。 4.统计读入的整数数据中大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。 5.以每行5个数输出500以内能被7或17整除的偶数,并求出其和。 6.以下程序不借助任何中间变量把a、b的值进行交换。 7.输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。 8.求 1-3+5-7+……-99+101 的值。 9.输出如下形式的乘法表。 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 10.实现求解下面的式子的结果,请填空将程序补充完整。 s=1*2+2*3+3*4+…+20*21。 11.以下程序的功能是分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。 12.求任一整数x的各位数字之和。 13.以下程序的功能是求两个非负整数的最大公约数和最小公倍数。 14.以下程序的功能如(图1)。

15.算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。 16.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。 17.下面的程序是求1!+3!+5!+……+n!的和. 18.请编程序打印如下图形。 $ $$ $$$ $$$$ $$$$$ 19.打印出如下图案(菱形) * *** ***** ******* ***** *** * 20.从键盘上输入20个元素的值存入一维数组m中,然后将下标为(0. 2. 4. 6. 8. 10…… 18)的元素值赋值给数组n,最后输出数组n的内容。请填空 21.产生25个[50,90]上的随机整数,求出其中能被5整除的所有数的和。 22.从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。 23.以下程序的功能是将一个数组中的元素按逆序存放。 24.产生15个[20,80]上的随机整数,用顺序法(比较法)按从小到大排序后输出。 25.以下程序是用选择法对10个整数按升序排列 26.以下程序的功能是产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。 27.以下程序的功能是产生并输出如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 28.以下程序的功能是产生并输出杨辉三角的前七行。 1 1 1 1 2 1

C语言程序设计综合练习题

C语言程序设计综合练习题 一、选择题 C(1)以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点 a.错误,c语言是由B语言发展过来,是低级语言向高级语言发展的过渡语言,而且更偏向底层~~java和C#才算是高级语言 b、明显错误,C语言是编译型语言,需要编译执行 d、这就错的更离谱了,现在微软都在研制F#,C怎么可能最晚?再说,java和c#都比它晚了,再说一下,C语言的主要优点是简洁紧凑、可移植性强,由指针这一特色,更能操作底层,它没有java的跨平台性,没有C#的通俗性。。。 最后,说下C,早期的C在贝尔实验室研制出来的,用于做数值计算和一些数学模型的求解,所以更接近自然语言和数学语言 B(2)在一个C语言程序中 A)main()函数必须出现在所有函数之前 B)main()函数可以在任何地方出现 C)main()函数必须出现在所有函数之后 D)main()函数必须出现在固定位置 B(3)下列关于C语言用户标识符的叙述中正确的是 A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 A不能出现中划线 C下划线可以放在开头 D数字不能放开头 D(4)下列关于单目运算符++,--的叙述中正确的是 A)它们的运算对象可以是任何变量和常量 B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D)它们的运算对象可以是char型变量、int型变量和float型变量 A(5)有以下程序段: int m=0,n=0;char c=′a′; scanf(″%d%c%d″,&m,&c,&n); printf(″%d,%c,%d\n″,m,c,n); 若从键盘上输入:10A10<回车>,则输出结果是 A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0 格式字符%d用于输入整数,%c用于输入字符。在输入时,系统把第一个10作为整数10赋给m,把随后的A作为字符赋值给c,后面的10作为整数赋给n,最后输出的结果为10,A,10 printf语句中,屏幕输出时所显示的间隔符应与输出格式项之

C程序设计作业

第一章作业 答案:一,59,14、4,28、e 二1小题,59 2,15 一、将数89、20、25、40、875用十六进制表示 二、填空 1、在C语言中,数值常量0x3b得十进制值就是。 2、字母f得ASCII码为十进制数___________。 第三章作业 一、选择题: 1、下列变量名中, B 就是非法得。 A) Tom B) 3n C) little_boy D) c10 2、若有以下类型说明 char a; int b; float c; double d;则表达式a*b+d-c得结果类型就是( A ) A)float B)char C)int D)double 3、若x为整型,则逗号表达式(x=4*5,x*5),x+25得结果及x得值分别就是(C )正确答案就是100,45 A)45 20 B)125 20 C)125 45 D)100 100 4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)得值就是 C 。 A) 5 B) 8 C) 6 D)7 5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2得值为 C 。 A) 12 B) 11 C)不确定得值D) 10 6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型 A) int B) float C) double D) char 7、C语言中不可用作标识符得字符有( C ) A下划线 B % C数字 D字母 8、下面四个选项中,均就是合法整型常量得就是(D ) A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e5 9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型 A、int B、float C、double D、char 10、若a就是int型变量,则表达式(a=4*5,a*2),a+4得值为( C ) A、20 B、22 C、24 D、 44 第四章作业 一、选择题

(完整word版)C语言基本概念

第2章C语言基本概念 2.1 初识“Hello world”程序 为纪念C语言的设计者,第一个程序范例选自C语言的定义文档——Brian Kernighan和Dennis Ritchie合著的The C Programming Language。该范例是“Hello world”程序,它是所有C 程序员共有的财富,而你也即将成为其中的一员。 该程序作为一个文件存储在你所用的计算机系统的永久存储器中。文件名为hello.c,其中.c说明该文件为C语言源程序。 下面介绍hello.c程序的组成部分:程序注释、库包含和主函数。 2.1.1 程序注释 C语言中,注释是在/*和*/之间的所有文字,可以占连续的几行。例2.1中的注释描述了该程序的作用。 注释是写给人看的,而不是写给计算机的。注释向其他程序员传递该程序的有关信息。当C语言编译器将程序转换为可由机器执行的形式时,注释被完全忽略。 当程序越来越复杂时,读者会发现给出合适的注释是使程序易读的最好方法之一。 2.1.2 库包含(预处理指令) C语言只明确定义了一小部分操作,在计算机程序中许多必要的操作并不是由C直接定义的(如C语言中没有内置的“读”或“写”命令),实际的做法是,在每个C实现中都包含了一些使用函数和符号的集合,称之为库。C的ANSI(American National Standards Institute)标准要求在每个C实现中提供特定的标准库。C系统可以通过提供附加库来扩展可执行操作

stdio.h。 #include 这条预处理指令说明,在编译前把stdio.h中的信息“包含”到程序中。该指令通知预处理器,程序中用到的某些内容,如printf,可以在标准头文件stdio.h中找到。Stdio.h中包含了关于C标准输入/输出库的信息。 注意: ●对每一个库使用一行#include ●预处理指令结束时没有“;” 预处理指令详细内容将在后面章节介绍。 2.1.3 主函数 1. 函数 术语“函数”来源于数学。在数学中函数是一条根据一个或多个给定参数进行数值计算的规则: f(x) = x + 1 g(y,z) = y – z C语言对“函数”的使用更加宽松。C语言中,函数是一系列独立的程序步骤,将这些 一个C程序是一个函数的集合。函数分为两类:程序员编写的函数;由C语言的实现所提供的函数。后一种函数也叫库函数,因为这些函数属于一个函数的“库”,而这个库是由编译器提供的。 每个C程序必须有一个main函数,在执行程序时系统会自动调用main函数,即该函数是程序的入口。 2. 语句 函数所执行的步骤在{}中列出,这些步骤称为“语句”。这些语句共同组成函数的主体。大多数函数都有几个连续执行的语句。 当运行C语言程序时,计算机执行main函数主体中包含的语句。 printf("Hello,world.\n");该语句用到了printf函数。此函数代表一组操作。当想要调用这些

相关文档
最新文档