一个C++编程题

2024-05-08 20:36

1. 一个C++编程题


一个C++编程题

2. c++的编程题

这几种算法是一个整体,要在一个程序里面,运算者想用那一种时要可以自由选择.求一个函数f(x)在[a,b]上的定积分。其中f(x)=1+x+x2+x3 。使用矩形法、梯形法、辛普生法演示积分的求解过程。
1. 用户输入积分上限、下限的值,选择某种算法,系统进行计算,输出结果。
2. 对每种算法至少要求有算法的中文解释,并以一种美观的形式展现在操作界面上。
3. 要求提供对三种算法的积分结果的精度方面的分析功能。通过选取不同的n值,在n相同的情况下,对三种算法的积分结果进行精度分析,给出最后结论。 n可以取:10、100、1000、5000、20000。

3. 用c++怎么编程这一题?

#include
using namespace std;
int fun(int x)
{
	int sum=0,t=0;
	t=x;
	while(t)
	{
		sum+=t%10;//各个位上的数累加 
		t/=10;
	}
	if(x%11==0&&sum==13)
	return 1;
	else
	return 0;
}
int main()
{
	int sum=0;
	for(int i=1;i<=1000;i++)
	{
		if(fun(i)==1)
		{
			sum++;
			cout<<i<<" ";
			if(sum%5==0)//sum计数,同时sum是5的倍数换行; 
			cout<<endl;
		}
	}
	cout<<endl;
	cout<<"满足条件的个数为:"<<sum<<endl; 
	return 0;
}

用c++怎么编程这一题?

4. C语言编程题

long fun(int k)
{
if(i<2)
return 1L;
return k*fun(k-1);
}
或:
#include "stdio.h"
main()
{
double h,c;
//printf("Input h\n");
scanf("%lf",&h);
c=5.0/9*(h-32);
printf("c=%lf",c);
}

扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:百度百科-c语言

5. 求一些c编程题

C语言超级经典400道题目
1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、1
  2、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、1
  3、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、1
  4、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、1
  5、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、1
  6、C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char、B、1
  7、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、1
  8、C语言中函数返回值的类型是由( )决定。 A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、1
  9、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。 A、 该数组的长度。 B、该数组的元素个数。 C、 该数组中各元素的值。 D、 该数组的首地址。、D、1
  10、C语言中数组下标的下限是________。 A、1 B、0 C、视具体情况 D、无固定下限、B、1
  11、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、1
  12、C语言中文件的存取方式是________。 A、顺序存取 B、随机存取 C、顺序存取、随机存取均可 D、顺序存取、随机存取均不可、C、1
  13、C语言中最简单的数据类型包括 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型、B、1
  14、sizeof(float)是( ) A) 一种函数调用 B) 一个不合法的表示形式 C) 一个整型表达式 D) 一个浮点表达式、C、1
  15、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);、B、1
  16、表达式:10!=9的值是 A) true B) 非零值 C) 0 D) 1、D、1
  17、表示关系x<=y<=z的c语言表达式为 A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)、A、1
  18、程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是____ A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1、B、1
  19、当调用函数时,实参是一个数组名,则向函数传送的是____ A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值、B、1
  20、对嵌套子程序调用说法正确的是____。 A、 外层子程序可以调用所有的内层子程序 B、 内层了程序只可以调用包含本身的外层子程序,不可以隔层调用 C、 外分程序必须能完全套住内分程序 D、 以上说法均不正确、C、1
  21、对于基类型相同的两个指针变量之间,不能进行的运算是 A) < B) = C) + D) -、C、1
  22、合法的C语言中,合法的长整型常数是 A) '\t' B) "A" C) 65 D) A、A、1
  23、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 A) 3 B) 6 C) 10 D) 20、D、1
  24、假定有以下变量定义: int k=7 ,x=12; 则能使值为3的表达式是 A x%=(k%=5) B x%=(k-k%5) C x%=k-k%5 D (x%=k)-(k%=5)、D、1
  25、请读程序片段(字符串内没有空格): printf("%d\n",strlen("ATS\n012\1\\"));的输出结果是 A) 11 B) 10 C) 9 D) 8 、C、1
  26、请选出合法的C语言赋值语句 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);、B、1
  27、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6、C、1
  28、若int类型占两个字节,则以下语句输出为________。 int k=-1; printf("%d,u%\n",k,k); A、-1,-1 B、-1,65536 C、-1,32768 D、-1,65535、D、1
  29、若变量a是int类型,并执行了语句:a=‘A'+1、6;,则正确的叙述是 A) a的值是字符C B) a的值是浮点型 C) 不允许字符型和浮点型相加 D) a的值是字符‘A’的ASCII值加上1。、D、1
  30、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10、0,b赋予22、0,c赋予33、0,不正确的输入形式是: A) 10 B) 10、0,22、0,33、0 22 33 C) 10、0 D) 10 22 22、0 33、0 33、B、1
  31、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A) a0 B) !a C) a=0 D) a、B、1
  32、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 A)1 B)2 C)2、0 D)2、5、C、1
  33、若有定义:int a=8,b=5,c;,执行语句c=a/b+0、4;后,c的值为 A) 1、4 B) 1 C) 2、0 D) 2、B、1
  34、若有定义:int x,y;char a,b,c;并有以下输入数据(此处 代表换行符,/u代表空格): 1u2 AuBuC 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是 A) scanf("x=%d y+%d",&x,&y);a=getchar();b=getchar();c=getchar(); B) scanf("%d %d",&x,&y);a=getchar();b=getchar();c=getchar(); C) scanf("%d%d%c%c%c,&x,&y,&a,&b,&c); D) scanf("%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);、D、1
  35、若有定义和语句: char s[10]:s="abcd";printf("%s\n",s); 则结果是(以下u代表空格) A) 输出abcd B) 输出a C) 输出abcduuuuu D) 编译不通过、D、1
  36、若有以下程序段, int c1=1,c2=2,c3; c3=1、0/c2*c1; 则执行后,c3中的值是 A) 0 B) 0、5 C) 1 D) 2、A、1
  37、若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 A) float B) int C) char D) double、D、1
  38、若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是: A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定、B、1
  39、若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是 A)3 B)4 C)5 D)6、A、1
  40、若执行下面的程序时从键盘上输入3和4,则输出是____ A) 14 B) 16 C) 18 D) 20 main( ) { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a、B、1
  41、若执行下面的程序时从键盘上输入5,则输出是 A) 7 B) 6 C) 5 D) 4 main() { int x; scanf("%d",&x); if(x++>5) printf("%d\n",x); else printf("%d\n",x--);}、B、1
  42、若执行以下程序时从键盘上输入9,则输出结果是 A) 11 B) 10 C) 9 D) 8 main( ) { int n; scanf("%d",&n); if(n++、B、1
  43、设 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的值为____ A) 0 B) 1 C) 2 D) 3、C、1
  44、设 int a=12,则执行完语句 a+=a-=a*a后,a的值是 A) 552 B) 264 C) 144 D) -264、D、1
  45、设 int b=2;表达式(b>>2)/(b>>1)的值是 A) 0 B) 2 C) 4 D) 8、A、1
  46、设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是________ A)'a'&&'b' B)a 
  47、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为 A 4 B 16 C 32 D 52、C、1
  48、设x=3,y=-4,z=6,写出表达式的结果。 !(x>y)+(y!=z)||(x+y)&&(y-z) A、0 B、1 C、-1 D、6、B、1
  49、设x和y均为int 型变量,则以下语句:x+=y;y=x-y;y=x-y;x-=y;的功能是 A、把x 和y按从大到小排列 B、把x和y按从小到大排列 C、无确定结果 D、交换x和y中的值、D、1
  50、设有 int x=11; 则表达式 (x++ * 1/3) 的值是 A) 3 B) 4 C) 11 D) 12、A、1
51、设有如下的变量定义: int i =8,k ,a,b ; unsigned long w=5; double x=1,42,y=5、2; 则以下符合C语言语法的表达式是 A、 a+=a-=(b=4)*(a=3) B、 x%(-3); C、 a=a*3=2 D、 y=float(i)、A、1
  52、设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下就法中正确的是 A) aa数组成元素的值分别是"abcd"和ABCD" B) aa是指针变量,它指向含有两个数组元素的字符型一维数组 C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D) aa数组的两个元素中各自存放了字符'a'和'A'的地址、D、1
  53、设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是 A) 1 B) 0 C) 4 D) 3、D、1
  54、设有数组定义: char array [ ]="China"; 则数组 array所占的空间为 A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节、C、1
  55、设有说明语句:char a='\72';则变量a A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法、A、1
  56、设有以下语句:int x=03,y=02,z=01;那么语句printf("%d",x|y&~Z)的执行结果(  )。 (A) 1 (B) 2 (C) 3 (D) 0、C、1
  57、下列if语句中,不正确的是________。 A、if(x>y); B、if(x==y) x+=y; C、if(x!=y) scanf("%d",&x) else x=1; D、if(x、C、1
  58、下列变量定义中合法的是 A) short _a=1-、le-1; B) double b=1+5e2、5; C) long do=0xfdaL; D) float 2_and=1-e-3;、A、1
  59、下列标识符中不合法的是_______ A、s_name B、_e C、fox D、3DS、D、1
  60、下列不正确的转义字符是 A) '\\' B) '\" C) '074' D) '\0'、C、1
  61、请读程序: main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是____ A、2 B、3 C、4 D、1、A、1
  62、请读程序: int i=0,j=0,a=6; if((++i>0)||(++j>0))a++; printf("i=%d,j=%d,a=d%\n",i,j,a); 则上面程序的输出结果是____ A、i=0,j=0,a=6 B、i=1,j=0,a=7 C、i=1,j=1,a=6 D、i=1,j=1,a=7、B、1
  63、下列程序段的输出结果为________? int y=1; while(y--); printf("y=%d\n",y); A、y=-1B、y=0C、死循环D、y=9 、A、1
  64、下列程序执行后的输出结果是 A) 3 B) 6 C) 9 D) 随机数 main() { int a[3][3], *p,i; p=&a[0][0]; for(i=p; i、B、1
  65、下列程序执行后的输出结果是 A) G B) H C) i D) J main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); }、A、1
  66、下列程序执行后的输出结果是(小数点后只写一位) A) 6 6 6、0 6、0 B) 6 6 6、7 6、7 C) 6 6 6、0 6、7 D) 6 6 6、7 6、0 main() { double d; float f; ling l; int i; i=f=1=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); }、A、1
  67、下列可作为C语言赋值语句的是 A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x);、C、1
  68、下列描述中不正确的是 A) 字符型数组中可以存放字符串 B) 可以对字符型数组进行整体输入、输出 C) 可以对整型数组进行整体输入、输出 D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值、C、1
  69、下列说法中正确的是________。 A、在switch语句中一定要使用break语句 B、在switch语句中不一定要使用break语句 C、break语句是switch语句的一部分 D、break只能用于switch语句中、B、1
  70、下列运算符其优先级最高的是________。 A、|| B、&& C、+ D、=、C、1
  71、下面的DO循环中,一共循环(  )次。 M=5 N=1 DO WHiLE N<=M N=N+1 ENDDO (A) 1 (B) 6 (C) 4 (D) 5、D、1
  72、请读程序: #include main() { int a=1,b=4,c=2; float x=5、5,y=9、0,z; z=(a+b)/c+sqrt((double)y)*1、2/c+x; printf("%f\n",z); } 则上面程序的输出结果是____ A、数据溢出B、9、3C、9、300000D、0、93、C、1
  73、请读程序: int a,b,c; a=(b=(c=10)+5)-5; printf("a,b,c=d%,d%,d%",a,b,c); c=a=0; b=(a+10); printf("a,b,c=%d,d%,d%",a,b,c); 则上面程序的输出结果是____ A、a,b,c=0,10,10 a,b,c=10,15,10 B、a,b,c=10,15,10 a,b,c=10,15,10 C、a,b,c=10,15,10 a,b,c=0,10,0 D、a,b,c=10,15,10 a,b,c=10,15,15、C、1
  74、写出下列语句执行后a,b的值。 int a=6,b; b=(++b)+(a++); A、a=8,b=14 B、a=7,b=8 C、a=14,b=14 D、a=8,b=8、A、1
  75、请读程序: m=1234、123; printf=("%-8、3f\n",m); printf=("%10、3f\n",m); 则上面程序的输出结果是____ A、1234、12300 1234、123 B、1234、123 1234、123 C、1234、123 1234、12300 D、1234、12300 1234、123、B、1
  76、一个C语言的语句至少应包一个________ A、{} B、逗号 C、分号 D、什么不要、C、1
  77、一个完整的C源程序是________。 A、要由一个主函数(或)一个以上的非主函数构成 B、由一个且仅由一个主函数和零个以上(含零)的非主函数构成 C、要由一个主函数和一个以上的非主函数构成 D、由一个且只有一个主函数或多个非主函数构成、B、1
  78、已知整型变量a=13和b=6,则a&b的值是________,a^b的值是________ A、4 13 B、4 11 C、1 11 D、4 13、B、1
  79、以下for语句构成的循环执行了(  )次。 # include #define N i #define M N+1 # define NUM (M+1)*M/2 main( ) {int i,n=0; for (i=1;i<=num;i++) {n++; printf("%d",n); } } (A) 5 (B) 6 (C) 8 (D) 9、C、1
  80、以下程序的输出结果是____ # include main( ) { printf("%d\n",NULL); }  (A) 不确定的 (B) 0    (C) -1 (D) 1、B、1
  81、在调用函数时,以下描述中正确的是________。 A、调用函数时,实参可以是表达式 B、调用函数时,将为形参分配内存单元 C、调用函数时,实参与形参的原型必须一致 D、调用函数时,实参与形参可以用内存单元、D、1
  82、有以下程序段 int k=0 while(k=1)k++; while 循环执行的次数是 A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次、A、1
  83、有以下函数 char fun(char *p) { return p; } 该函数的返回值是 A) 无确切的值 B) 形参p中存放的地址值 B) 一个临时存储单元的地址 D) 形参p自身的地址值、B、1
  84、语句printf("%d\n",12&012);的输出结果是____ A) 12 B) 8 C) 6 D) 012、B、1
  85、语句:printf("%d",(a=2)&&(b= -2);的输出结果是____ A) 无输出 B) 结果不确定 C) -1 D) 1、D、1
  86、运算完下面的C语言程序段以后,a的值是______,b的值是______,c的值是________。 int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; A、6 9 13 B、8 7 11 C、8 9 10 D、8 7 10、C、1
  87、在C语言程序中,注释部分从哪开始,到哪结束? A、从(到)结束 B、从REM开始无结束志标志 C、无起始标志 D、从/*开始,*/结束、D、1
  88、在C语言提供的合法的关键字是 A) swicth B) cher C) Case D) default、D、1
  89、在C语言中,不正确的int类型的常数是____ A) 32768 B) 0 C) 037 D) 0xAF、A、1
  90、在C语言程序中,当while语句构成的循环中的条件为______时,结束循环。 A、0 B、1 C、true D、非0、A、1
  91、在C语言中,函数的隐含存储类别是 A) auto B) static C) extern D) 无存储类别、C、1
  92、在C语言中,合法的长整型常数是 A) OL B) 4962710 C) 324562& D) 216D、A、1
  93、在C语言中,合法的字符常量是 A) '\084' B) '\x43' C) 'ab' D) "\0"、B、1
  94、在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是____类型 A) void B) double C) int D) char、C、1
  95、在C语言中,形参的缺省存储类是 A) auto B) register C) static D) extern、A、1
  96、在C语言中,要求运算数必须是整型的运算符是 A) % B) / C) < D) !、A、1
  97、在宏定义 #define PI 3、14159中,用宏名PI代替一个 A) 单精度数 B) 双精度数 C) 常量 D) 字符串、D、1
  98、在C语言程序中,可以用做变量名的是____ A) 1e5 B) a1 C) int D) *p、B、1
  99、在以下一组运算符中,优先级最高的运算符是 A)<= B)= C)% D)&&、C、1
  100、字符(char)型数据在微机内存中的存储形式是____ A) 反码 B) 补码 C) EBCDIC码 D) ASCII码、D、1
 101、执行语句: for (i=1;i++、C、2
  102、指出下面正确的输入语句是( ) A:scanf("a=b=%d",&a,&b) B:scanf("a=%d,b=%f",&a,&b) C:scanf("%3c",c) D:scanf("%5、2f",&a)、B、2
  103、执行下面的程序后,a的值为 main() { int a,b; for (a=1,b=1;a=20) break; if(b%3==1) {b+=3; continue; } b-=5; } } A) 7 B) 8 C) 9 D) 10、B、2
  104、在执行以下程序时,如果从键盘上输入:ABCdef〈回车〉,则输出为 A)ABCdef B)abcdef C)abc D)DEF # include main() { chsr ch; while((ch=getchar())!='\n') { if(ch>='A'&& ch<='Z')ch=ch+32; 、C、2
  105、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是 A) x || y B) x | y C) x & y D) x ^ y、D、2
  106、在以下定义中,正确的说明语句为____ A) int a['a'] B)int a[3,4] C)int a[ ][ ] D)int *a[10]、D、2
  107、执行下列程序时输入:123456789,输出结果是 A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456 main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); }、D、2
  108、执行下面程序片段的结果是 int x=23; do { printf("%2d",x--);} while(!x); A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环、B、2
  109、在说明语句:int *f();中,标识符f代表的是____ A) 一个用于指向整型数据的指针变量 B) 一个用于指向一维数组的行指针 C) 一个用于指向函数的指针变量 D) 一个返回值为指针型的函数名、D、2
  110、在下列选项中,不正确的赋值语句是____ A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;、D、2
  111、在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是________ A、extern B、register C、auto D、static、D、2
  112、在C语言程序中,当do-while语句构成的循环中的条件为______时,结束循环。 A、0 B、1 C、true D、非0、A、2
  113、在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是 A) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10L;、D、2
  114、阅读以下程序: main() { int x; scanf("%d",&x); if(x--、B、2
  115、运行以下程序后,如果从键盘上输入china#,则输出结果为 A、2,0 B、5,0 C、5,5 D、2,5 #include main( ) { int v1=0,v2=0; char ch ; while ((ch=getchar())!='#') switch (ch ) { case 'a': case 'h': default: v1++; case '0':v2++; } printf("%d,%d\n",v1,v2);、C、2
  116、请读程序: main() { int a=1,b=2,c=3; ++a; c+=++b; { int b=4,c; c=b*3; a+=c; printf("first:%d,%d,%d\n",a,b,c); a+=c; printf("Second:%d,%d,%d\n",a,b,c); } printf("third:%d,%d,%d\n",a,b,c); } 该程序的输出是________。 A、first: 12,4,12 Second: 26,4,12 third: 4,3,6B、first: 14,4,12 Second: 26,12,12 third: 26,3,4C、first: 14,4,12 Second: 26,4,12 third: 26,3,6 D、first: 14,4,12 Second: 26,6,12 third: 26,4,6、C、2
  117、阅读程序: #include main() { int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%x\n",p); printf("%x\n",p+9); } 该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是 A) 203 B) 204 C) 1a4 D) 1a6、D、2
  118、与 y=(x>0?1:x0) y=1; B) if(x) else if(x0)y=1; else y=0; else if(x=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1;、A、2
  119、以下合法的赋值语句是 A) x=y=100 B) d--; C) x+y; D) c=int(a+b);、B、2
  120、以下函数返回a所指数组中最小的值所在的下标值 fun(int *a, int n) { int i,j=0,p; p=j; for(i=j;i、D、2
  121、以下函数值的类型是 fun ( float x ) { float y; y= 3*x-4; return y; } A) int B) 不确定 C) void D) float、A、2
  122、以下说法中正确的是 A) C语言程序总是从第一个的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分、C、2
  123、以下所列的各函数首部中,正确的是 A) void play(var a:integer,var b:integer) B) void play(int a,b) C) void play(int a,int b) D) sub play(a as integer,b as integer)、C、2
  124、以下叙述正确的是 A)输入项可以是一个实型常量,如: scanf("%f"、3、5); B)只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf("a=%d,b=%d); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4、2f",&f); D)当输入数据时,必须指明变量地址,例如: scanf("%f、&f); 、C、2
  125、以下叙述正确的是 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。、D、2
  126、以下叙述中不正确的是 A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。 B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C) 在C中,外部变量的隐含类别是自动存储类别。 D) 在C中,函数形参可以说明为register变量。、C、2
  127、以下叙述中不正确的是____ A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效、D、2
  128、以下程序运行后,输出结果是 A)1000 B)10010 C)00110 D)10100 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1>0;j--)printf(%d",a[j]); printf("h\n"); }、B、2
  129、以下程序运行后,如果从键盘上输入: book book 则输出结果是 A)*8 B)#9 C)#6 D)*9 #include main() {char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1); gets(s2); if(!strcmp(s1,s2)) printf(“*”); else printf(“#”); printf(“%d\n”,strlen(strcat(s1,s2))) }、B、2
  130、以下程序运行后,输出结果是 A)6385 B)22 C)33 D)693825 main() { char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for (i=0;i='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }、A、2
  131、以下程序运行后,输出结果是 A)84 B)99 C)95 D)44 int d=1; fun (int p) { int d=5; d+=p++; printf("%d",d); } main() { int a=3; fun(a); d+=a++; printf("%d\n",d); }、A、2
  132、以下程序执行后a的值是 A)4 B)1 C)0 D)运行时出错,a无定值 main() { int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf("%d\n",a); } 、C、2
  133、以下程序执行后sum的值是 A)15 B)14 C) 不确定 D)0 min() { int i , sum; for(i=1;i、C、2
  134、以下程序中,while循环的循环次数是 main() { int i=0; while(i、D、2
  135、以下定义语句中,错误的是 A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n];、D、2
  136、以下对C语言函数的有关描述中,正确的是 A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B) C函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C程序中有调用关系的所有函数必须放在同一个源程序文件中、A、2

求一些c编程题

6. c语言编程题

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。 
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

常用的C语言IDE(集成开发环境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C。
发展历史
C语言的原型ALGOL 60语言。(也称为A语言)

1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。

1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。

而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。即是著名的ANSI C。

1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《C语言程序》(The C Programming Language),从而使C语言成为当时世界上流行最广泛的高级程序设计语言。

1988年,随着微型计算机的日益普及, C语言出现了许多版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准3.C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。
优点概述
 
c语言 
1、简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

2、运算符丰富

C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3、数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

4、C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5、 C语法限制不太严格,程序设计自由度大

虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

6、C语言允许直接访问物理地址,可以直接对硬件进行操作

因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

7、 C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10~20%。

8、C语言适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。
缺点简介
 
c语言 
1、C语言的缺点主要是表现在数据的封装性上,这一点使得C在数据的安全性上做的有很大缺陷,这也是C和C++的一大区别。

2.、C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

指针就是C语言的一大特色,可以说C语言优于其它高级语言的一个重要原因就是因为它有指针操作可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性。
结构特点
1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

4、源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
学习方法
在初学C语言时,可能会遇到有些问题理解不透,或者表达式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面感觉是同学最欠缺,大多学不好的就是因为一开始遇到困难就放弃。

学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是学生最不易做到的,然而却又是最重要的。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。 

学好C语言的运算符和运算顺序:这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。

在学习中,只要对此合理进行分类,找出它们与在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。 先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序. 
顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。 

例如;a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。 顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。 
分支结构
 
c语言 
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。 

学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。下面我介绍几种基本的分支结构。

①if(条件) { 分支体 } ;

这种分支结构中的分支体可以是一条语句,此时“{ }”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。如:要计算x的绝对值,根据绝对值定义,当x>=0时,其绝对值不变,而x<0时,其值是它的相反数。 

if(x<0)

x=-x
②if(条件)

then {分支1}
  else
  {分支2}
  这是典型的分支结构,如果条件成立,执行分支1,否则执行分支2,分支1和分支2都可以是1条或若干条语句构成。如:求ax^2+bx+c=0的根
  分析:因为当b^2-4ac>=0时,方程有两个实根,否则(b^2-4ac<0)

        d=b^2-4ac
  {x1=(-b+sqrt(d))/2a;
  x2=(-b-sqrt(d))/2a;
  printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2);
  }
  else
  {r=-b/(2*a);
  i=sqrt(-d)/(2*a);
  printf(“x1=%8.4f+%8.4fi\n”r,i);
  printf(“x2=%8.4f-%8.4fi\n”r,i)
  }

③嵌套分支语句:其语句格式为: 

if(条件1) {分支1}; 
else if(条件2) {分支2} 
else if(条件3) {分支3} 
…… 
else if(条件n) {分支n} 
else {分支n+1} 

嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句。 

④switch开关语句:该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if…else 语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支…的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。 
循环结构
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do –while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。 

在学完这三个循环后,应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while 循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while 循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和 continue语句进行控制的。 

顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。 

模块化程序结构 

C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。 因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

掌握一些简单的算法:编程其实一大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就要求掌握算法,根据的《C程序设计》教学大纲中,只要求掌握一些简单的算法,在掌握这些基本算法后,要完成对问题的分析就容易了。如两个数的交换、三个数的比较、选择法排序和冒泡法排序,这就要求要清楚这些算法的内在含义。

7. 求c语言编程题

四名专家对四款赛车进行了评论:
A说:2号赛车是最好的。
B说:4号赛车是最好的。
C说:3号赛车不是最好的。
D说:B说错了。

事实上只有一款赛车最佳,且只有一名专家的评论是正确的。

试用C语言编程求解:
#include
int main()
{
 int i,j,t;
 for(i=1;i<=4;i++)
 {
  t=(i==2)+(i==4)+(i!=3)+(i!=4);
  if(t==1)break;
 }
 printf("\n\n最好的一款车是:  %d号赛车\n\n",i);
    if(i==2)printf("A说对了");
 if(i==4)printf("B说对了");
 if(i!=3)printf("C说对了");
 if(i!=4) printf("D专家的评论是正确的。\n\n");
 return 0;
}

求c语言编程题

8. C语言编程题

两种思路,一种设计过程比较简单,就是直接用程序模拟所有可能的路径,把合题意的走法全部计数。这种算法的时间复杂度大约在O(2^N)左右,比较慢。另一种是建立一个数学模型,采用组合数的思想解这个问题,这样设计出程序只是一个数学计算过程,组合数计算最快的算法是O(N),在加上求和,算法时间复杂度为O(N^2)左右。
一种简单的递归模拟方法:
void decision::make_decision(int step, int restlevel) { //走法:走一步或两步    if(restlevel == 0){                                 //路径走完        if(step % 2 == 0){                              //是偶数步            decision_count ++;                          //可作为一种走法        }    }    else {                                              //路径未走完        step ++;        for (int i = 0 ; i  i ){                make_decision(step, restlevel - i - 1); //下一步走法            }        }    }}该问题的数学解法是:由于需要走偶数步,而楼梯数是奇数,那么必然有奇数步走了两个台阶。假设2n-1步走两个台阶,则一共走了39-2i+1步,最多有floor(39/2)=19步(此时n=10)是两步。面就是简单组合问题。可以得出 
Count = Σ(i=1...10)C(39-2i+1, 2i-1)
Σ为求和符号,C(n,k)为组合数符号。