9512.net
甜梦文库
当前位置:首页 >> IT认证 >>

C语言试题21-3-3



a>b?a:(c>d?c:d )

n/n+1

强制类型转换:
(float)n/(n+1)



#include <stdio.h>
main()
{

putchar(getchar());
}




main( )
{int x,y;
scanf(“%d”,&x);
y=x;
y=2*x-1;
printf(“%d”,y);
}

输入一个数,判断是否能被3 整除。
main()
{ int x; /*1*/
scanf("%d",&x); /*2*/
if(x%3==0) /*3*/
{ printf("%d",x);
printf("它能被 3整除!"); }
/*复合语句,if语句内嵌语句*/
}




复合语句:
由{}括起来的一条或多条语句,被当成一个整体来对待!

编程实现输出二个数的较大数。
main()
{ int x; ---1
scanf("%d",&x); ----2
if(x%2==0) ---3
printf("它是偶数!");
else
printf("它是奇数!");
}
编程实现输出二个数的较大数。
main()
{ int a,b;
scanf("%d%d",&a,&b);
if(a>b)
printf("%d",a);
else
printf("%d",b); }


main()
{ int a,b,c;
scanf("%d%d",&a,&b);
c=a;
if(a<b)
c=b;
printf("%d",c);
}


main()
{ int a,b;
scanf("%d%d",&a,&b);
if(a>10)
printf("%d",a);
if(a>5)
printf("%d",b);
}



if(p)
yj1
else
yj2
<=>
if(p) yj1;
if(!p) yj2;

如何实现多分支(n>2)选择结构?
(1) if...else嵌套。
(2) switch语句


if(x==0) ---1
y=x;
else ---1
if(x<0) ----2
y=x*x*x-21;
else ---2
y=3*x-1;

(1)if else配对情况。
(2)可不可以不用上面这种方法来实现?
if(x==0) y=x;
if (x>0) y=3*x-1;
if(x<0) y=x*x*x-21;



main()
{ int x;
scanf("%d",&x);
switch ( x )
{ case 2002:
case 2003: printf(""); break;
case 2004: printf(""); break;
case 2005:printf("") ; break;
case 2006:
case 2007: printf(""); break;

default : sn+1;
}

switch ( e )
{ case c1: s1; [break;]
case c2: s2; [break;]
……
case cn: sn; [break;]
default : sn+1; [break;]
}
注:c1..cn应该是常量表达式。
例:计算器程序。用户输入运算数和四则运算符,输出计算结果。
输入:1+23
输出:24
输入:1-23
输出:-22
输入:4/2
输出:2
输入:4*3
输出:12
main()
{ float a,b; char c;
printf("请按该格式输入a+(-,*,/)b:");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{ case '+': printf("%f",a+b);break;
case '-': printf("%f",a-b);break;
case '*': printf("%f",a*b);break;
case '/': printf("%f",a/b);break;
default: printf("输入错误!"); }
输入:1.23*23.567
输出:24



for(表达式1; 表达式2;表达式3)
{
循环体语句;
}
<=> 表达式1;
while( 表达式2 )
{ 循环体语句;表达式3; }

int s=0,i;
for(i=2;i<=100;i=i+2)
s=s+i;

for(i=10;i>=1;i=i-2)
printf("*****\n");

计算 1+4+9+ … +n*n n=10 (用 while )
s=0,n=1;
for( ;n<=10; )
{s=s+n*n;
n=n+1;}

s=0;
i=1
for(;i<=10;)
{s=s+i;
i++;}

s=0;
for(i=1;i<=100;i++)
s=s+i;
求n!
s=1;
for(i=1;i<=10;i++)
s=s*i;

例3-25 用for循环语句计算 1! + 2! + 3! +...+ n! (n=20)。
(1) main()
{ int i,s=0,m=1;
for(i=1;i<=20;i++)
{ m=m*i;
s=s+m; }
printf("%d",s); }
(2) 用循环的嵌套。计算 1! + 2! + 3! +...+ n! (n=20)
main()
{ int i,j,m,s=0;
for(i=1;i<=20;i++)
{ m=1;
for(j=1;j<=i;j++)
m=m*j;
s=s+m; }
printf("s=%d",s); }
(3) 用循环的嵌套。
* i=1, 1
*** i=2, 3
*****
*******
*********
***********
*************
*************** i=8,15
main()
{ int i,j;
for(i=1;i<=8;i++)
{
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
printf("s=%d",s); }







for(i=1;i<=5;i++) ---1
for(j=1;j<=3;j++)---1-1
printf("*****\n");---1-1-1


求出 200以内最大能同时被 3,7和5整除的数。
main()
{ int i;
for(i=200;i>=1;i--)
{
if((i%3)==0&&(i%5)==0&&(i%7)==0) break;
}
printf("%d",i);
}


求出 200以内所有被 21整除的数。 for,,,,continue....if......
main()
{ int i;
for(i=1;i<=200;i++)
{ if(i%21!=0)
continue;
printf("%d",i);
} }

前四章
三大知识点:
(1)标识符、常量、变量的使用(定义,定义时类型说明符)。
(2)运算符、表达式、表达式语句。
(3)输入输出语句(putchar\getchar\scanf\printf); 流程控制语句(if\if...else..\switch)(while\do..while\for .....continue....break;) goto 语句。


将输入的50 个数按逆序输出。
main()
{ int a,b,c,d,e;
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
printf("%d%d%d%d%d",e,d,c,b,a);
}

引入一维数组来解决这种问题。
main()
{ int a[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=9;i>=0;i--)
printf("%d",a[i]);
}

求输入10个数当中的最大值和最小值 (用一维数组实现)




一、


字符串给字符数组赋初值。
1.char b[9]={'G','o','o','d',' ','l','u','c','k' };
2.a[0]='G'; a[1]='o';
a[2]='o'; a[3]='d';
a[4]=' '; a[5]='l';
a[6]='u'; a[7]='c';
a[8]='k';
3. char b[10]={"Good luck"} ;
4. char b[10]="Good luck" ;

int a[5]={1,2,3};
整型数组,其他元素为0.

char c[5]={'a','b','c'};
char c[5]="abc";
字符数组,其他元素为'\0'.
'a' 'b' 'c' '\0' '\0'

二、在程序中,利用字符数组来处理字符串。
编程实现将用户输入的一串字符输出。(一维数组) 假设字符个数不超过20个。
1.
char a[20];
int i;
for(i=0;i<20;i++)
scanf("%c",&a[i]);
for(i=0;i<20;i++)
printf("%c",a[i]);
2.
char a[21];
gets(a);
puts(a);
1.输入函数:getchar() scanf() gets()
2.输出函数:putchar() printf() puts()

1.gets(字符数组名)

char a[21];
gets(a);
puts(a);

将从键盘上输入的字符串的小写字符变成大写字符, 并输出。假设字符个数不超过20个。

123abCD,567ab
123ABCD,567AB
1.把输入的一系列字符不做为一个整体(字符串),作一个数组中的若干元素。
char a[20]; int i;
/*接收用户输入的不超过20个的字符*/
for(i=0;i<20;i++)
scanf("%c",&a[i]);、/*12abCef34*/
a[0].....a[8]
/*将数组中的小写字母变成大写字母*/
/*输出最终结果*/
for(i=0;i<20;i++)
{ if(a[i]=='\0') break;
if( a[i]=>'a'&&a[i]<='z')
a[i]=a[i]-32;
printf("%c",a[i]);}







2.输入的是一个字符串。
char a[21]; int i;
gets(a);
i=0;
while(a[i]!='\0')
{ if( a[i]=>'a'&&a[i]<='z')
a[i]=a[i]-32;
i++;}
puts(a);
输入一个字符串,求其长度。(要求用户输入的字符个数不超过80个)
:1234abc
: 7
:
: 0
main()
{ int i=0,count=0; char a[81];
gets(a);
while(a[i]!='\0')
{ count=count+1;
i=i+1; }
printf("count=%d",count);
}



编程将字符串“1a2b3c”中的数字和字母分开, 并输出

char a[12]="abcdefgh";
char b[12];
strcpy(b,a);

int a[5]={12,34,567,8,9};
int b[5];
strcpy(b,a);X


<=> strcpy(a,"abcdefgh");





char a[40]="abd ";
char b[20];
gets(b);
strcat(a,b);
strcmp(a,b)
strupr("abDDD")
<=> ABDDD






getchar()函数:调用时有没有参数?无参函数。函数的调用有没有返回值?有。
通常调用形式:
x=getchar();
该系统函数是一个有返回值的无参函数。


putchar()函数:
putchar(x);
该系统函数是:无返回值的有参函数。

用户自定义函数:一个具有独立功能 的程序段,具有自已的名字和独立的结构。
由函数的首部和函数体构成。
1.函数的首部
返回值类型 函数名([参数列表])
int max(int x, int y)
void prst()
double aa()
函数名,有无参数,几个,什么类型。有没有返回值,没有(void)有,写上相应的类型。
2.函数体
由{}括起的程序段,由说明部分和执行部分构成。
int fun(int x, int y)/*函数首部*/----4
/*调用时,实参的值会传递形参 */
/*函数体内出现的x,y就有了初值 */
{ int z; ----5
if(x>y)z=x; ----6
z=y;
return(z); /*函数体*/-----7
}
main()
{ int a,b,max; ---1
scanf("%d%d",&a,&b);---2
max=fun(a,b);/*调用了自定义函数*/--3---8
printf("%d",max);-----9
}



该函数体完成的功能可以读出:返回x,y中的较大值。但是该函数能不能独立运行?不可以。

用户自定义函数的时候,需要考虑以下几个问 题:
1.函数完成的具体功能如何实现。编制相应的代码。
2.需不需要参数,要的话,几个,什么类型。
3.需不需要返回值,要的话,是什么类型,是什么表达式。
4.参数的传递是单向传递,还是双向传递。

例1.
将计算出用户输入的4个数的阶乘和输出。
(1!+2!+。。。+10!)


a!+b!+c!+d!
方法1: (程序只由一个main函数构成).
main()
{ int i,j,a,s,sum=0; -----1
for(j=1;j<=4;j++) ----------2
{ scanf("%d",&a); ------2-1
s=1; -----------------2-2
for(i=1;i<=a;i++)------2-3
s=s*i; --------2-3-1
sum=sum+s; ---------2-4
}
printf("sum=%d",sum); --------3
}
方法2:
(程序具有模块结构,不只是由main函数构成).

方法3:

int jc( int x)
{ int i,s=1;
for(i=1;i<=x;i++)
s=s*i;
return s; }
main()
{ int sum,a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
sum=jc(a)+jc(b)+jc(c)+jc(d);
printf("sum=%d",sum); }

先设计一个对两个数的值进行交换的函数。(自定义函数).
main()
{ int a,b,t;
scanf("%d%d",&a,&b);
t=a;
a=b;
b=t;
printf("%d%d",a,b);
}

如果学习了双向传递。很容易解决。
实参和形参的关系是单向值传递。
swap( int x,int y)
{ int z;
z=x; x=y; y=z;
}
main()
{ int a,b,;
scanf("%d%d",&a,&b);
swap(a,b)
printf("%d%d",a,b);
}


再利用该函数完成对输入的5个数进行升序排序。


格式一:
int f1( )
{..
f2( );
}
int f2( )
{

}
main( )
{ … f1( ); f2( ); … }
格式二:
main( )
{

int f1();
int f2();
… f1( ); f2( ); … }
int f1( )
{..
f2( );
}
int f2( )
{

}





ss(float x,char b)
{....}

不等价于
void ss(float x,char b)
{....}



1.
fun1(int x1,float y1)
{ ....}
2.
fun1(int ,float)
int x;
float y;
{....}
3.
fun1(x,y)
int x;
float y;
{....}



#include “stdio.h”
#include “math.h”
main( )
{ int n;
printf("Enter a integer:");
scanf("%d",&n);
printf("result:%d",func(n));}
int func(int num)
{ int s=0;
num=abs(num);
do { s=s+num%10;
num=num/10; }while(num); return(s);}
234: (1) s=0+4
num=23
(2) s=4+3
num=2
(3) s=7+2
num=0
3 次



8: (1)
s=0+8
num=0
1次
12: (1) s=0+2
num=1;
(2) s=0+2+1
num=1/10=0
2次




设计一个具有模块化的程序,主函数完成初始数据的输入和最终结果的输出。另外两个函数分别完成求相应球的面积和体积。
float s( float x)
{
return 4*3.14*x*x;
}
float v(float x)
{

return 4.0/3.0*3.14*x*x*x;
}
main()
{ float r;
printf("请输入球的半径:");
scanf("%f",&r);
printf("面积为%f,体积为%f",s(r),v(r));
}








更多相关文章:
C语言基础练习题(含答案)(3).txt
C语言基础练习题(含答案)(3) - 第三章 循环结构 3.1 选择题 1. 以
C语言试题及答案3.pdf
C语言试题及答案3 - 《C 语言》课程综合复习资料 一、单选题 1. 在 C
C语言试题(3).pdf
C语言试题(3) - C 语言程序设计(3) 一、选择题((1)-(40)每小题
C语言--上机附加题 附1-3答案.doc
C语言--上机附加题 附1-3答案 - 七、附加题 附加题 1 一、 填空题 给
C语言复习题--2015-10-3.doc
C语言复习题--2015-10-3_IT认证_资格考试/认证_教育专区。C 语言程序设计--...若 a=12,a*=2+3 a 的值是( 60 ) 21. 若 a=3,b=4,c=5,a+b>c...
C语言笔试模拟题(3).doc
计算机C语言模拟试题库,全国计算机C语言等级考试试题 一、选择题 (1)最简单的...c:printf("%d,",c);这三个语句 D)switch(d)这个语句 正确答案: C (21)...
C语言模拟试卷(3).doc
C语言模拟试卷(3) - C 语言模拟 一、填空题 1、 若想通过以下输入语句使
C语言习题级答案3.doc
C语言习题级答案3 - 测试题3 1.C语言中不合法的字符常量是 C A、’\6
C语言习题(1、3).doc
C语言习题(1、3) - C 语言习题(1、3) 第一章 程序设计和 C 语言 一.填空题 1. C 程序总是从___函数开始执行。可执行的 C 程序必须有且只能...
c语言复习题3.pdf
c语言复习题3 - c 语言习题 1 1. C 语言的主要特点有哪些?(多选) A.简洁、紧凑,使用方便、灵活,易于学习和应用。 B.C语言是面向结构化程序设计的语言。 ...
C语言复习题2012.3.21.doc
C语言复习题2012.3.21 - 73.编写函数 fun,函数的功能是:根据以
2016年3月份全国计算机等级考试二级C语言 题库(全).doc
2016 年 3 月份全国计算机等级考试二级 C 语言 题库 2016 年 3 月份全国...(21)下列程序的输出结果是 #include "stdio.h" main() { int i,a=0,b=...
C语言程序设计》试题3及答案.doc
C语言程序设计》试题3及答案_计算机软件及应用_IT/计算机_专业资料。 一....x2a2 21.在函数中默认存储类型说明符的变量应该是___存储类型。 A.内部静态...
C语言编程题及答案.pdf
C语言编程题及答案 - C 语言编程题 1. (*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21... 前 20 项的和。 main() {float i=1,j=2,...
C语言程序设计试题及答案.doc
C语言程序设计试题及答案_电脑基础知识_IT/计算机_专业资料。《C 语言程序设计...(12 项,共 30 分) 21.下列程序 main() { int x,y,z; x=y=2;z=3...
c语言试题.doc
c语言试题_IT认证_资格考试/认证_教育专区。c语言 ...有定义语句:int a=1,b=2,c=3;,则以下___对应...可以用关系运算符对字符数组中的字符串进行比较 21....
C语言考试试题..doc
C语言考试试题. - C 语言考试试题 <一> 一、填空 共 25
C语言试题.txt
C语言试题_IT认证_资格考试/认证_教育专区。C语言试题 计算1-1/4+1/7-1/...3 -0.5 9.5 21.3 Sample Output f(-0.50)=0.00 f(9.50)=12.67 ...
C语言试题(第一学期)及答案.doc
n=n+3;break; C 语言试题 (2003~2004 第一学期) A 卷
C语言试题 (3).doc
C语言试题 (3) - 一、选择题答案 1. 若执行以下程序时从键盘上输入 9,
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图