#include int isprime(int n){ int i; if(n2) return 0; for(i=2;i*i=n;++i) if(n%i==0) return 0; return 1;}int main(void){ int n; scanf("%d",n); if(isprime(n)) puts("yes"); else puts("no"); return 0;}
目前创新互联公司已为上千的企业提供了网站建设、域名、网络空间、网站托管维护、企业网站设计、五峰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、 函数调用:strcat(strcpy(str1,str2),str3)的功能是________。
C) 将串str2复制到串str1中后再将串str3连接到串str1之后
2、 若有以下调用语句,则正确的fun函数首部是
main()
{ ∶
∶
int a;float x;
∶
∶
fun(x,a);
∶
∶
}
B) void fun(float a,int x)
3、 有如下程序
int func(int a,int b)
{ return(a+b); }
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是__________。
D) 15
4、 函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n)
请你在下面程序中的划线部分填入________,完成求π的功能。
#include "math.h"
double pi(long n)
{ double s=0.0; long i;
for(i=1;i=n;i++) s=s+________;
return (sqrt(6*s)); }
A) 1.0/i/i
5、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递
方式是________。
B) 单向值传递
6、 对于C语言的函数,下列叙述中正确的是________。
A) 函数的定义不能嵌套,但函数调用可以嵌套 (这答案有待斟酌)
7、 函数f的功能是:测定字符串的长度,空白处应填入________。
int f(char s[ ])
{ int i=0;
while(s[i]!='\0') i++;
return (________); }
main( )
{ printf("%d\n",f("goodbye!")); }
B) i
8、 若主调用函数类型为double,被调用函数定义中没有进行函数类型
说明,而return语句中的表达式类型为float型,则被调函数返回
值的类型是________。
C) double 型
9、 以下叙述中,错误的是________。
D) 形参可以是常量、变量或表达式
10、 以下叙述中,不正确的是________。
B) 在main函数体内定义的变量是全局变量
1, //返回值的类型是和函数原型定义一致的;如:int argc(){...}函数返回 int类型
2,//你的想法是对的,另外这样的函数为递归函数
3,//步骤a+=a-=a+a;此时a=10;执行 a-=a+a后,a=-10(注意此时a被赋值);接着a+=a; a=-20;
//结合性为从右到左,所以a先被赋值为-10;
4,.int f(int n)
{static int m=5; //static表示 m变量为静态变量,就是一直保持在内存里的意思
return ++m+n;
}
main( )
{int i:
for(i=0;i3;i++)
printf("%5d",f(i));
//i=0时,m=6; i=1时,m=7;i=2时m=8;此题考察的是static关键字
printf("\n");
}
5,.#define SIZE 4 //宏定义
main( )
{int n[SIZE]={8,3,4,1};//声明并初始化数组;等同于:n[0]=8;n[1]=3,n[2]=4;n[3]=1;
int i,j;//声明变量
for (i=0;iSIZE;i++)
{printf("%d",n[i]);//打印n数组
for(j=1;j=n[i];j++)
printf("*");//打印结果取决于int数组的初始化
printf("\n");
}
}
6.#includestdio.h
#includestdlib.h//头文件
main( )
{char ch;
FILE*fp;//定义文件指针
if((fp=fopen("file.dat","________w"))= =NULL) // "w"为 fopen函数的参数,表示打开一个文件,可//以写入文件,先将文件的长度截为0,如果“file.dat"不存在,则先创建文件。
{printf("Can not open file\n");exit(0);}
ch=getchar( );
while (ch!=‘#’)
{fputc(________ch,fp);
//这空是考察fputc(io库函数)的参数的,这个函数表示把指定的字符写到指定的流中,此题是
//写到 file.dat 文件中
ch=getchar( );
}
fclose(________fp); //关闭指针指定的文件,这里是fp对应的”file.dat"文件
//同样是考察fclose(IO库函数)的参数
}
7.
#includestdio.h
#define N 100 //宏定义
main0
{int a[N],i,n=0;
float sum=0,aver; //上面两行是声明变量、数组;
for(i=0;iN;i++)scanf("%d",a[i]); //读取键盘输入100个整数
for(i=0;iN;i++)
if(a[i]=0)
{
sum=sum+a[i]; //用来计算正整数之和。
n++; //用来计算整数的总个数;
} //上面5行为一个循环,用来得到正整数的和 与正整数与零的总个数
if(n= =0)printf("All numbers are negative!\n");//看是否输入的数字全为小于零的数
//或者不合法,如输入的不是数字
else
{aver=sum\n;
printf("aver=%7.2f\n",aver);
} //计算所有大于等于零的数的平均值,保留2位小数点,占7位空间
}
8.
#includestdio.b
float area(float t,float b,float h)//三个参数(上底t,下底b,高h)
{
return(t+b)*h*0.5;//(上底+下底)*高/2就是梯形面积公式,返回面积
}
main( )
{float t1,b1,h1;
scanf("%f%f%f",t1,b1,h1);//读取键盘输入梯形上底、下底和高的值
printf("area=%7.2f\n",area(t1,b1,h1));// %7.2f 为函数 float area();函数返回的值
//同样面积输出为占7位,保留2位小数点;
}
综上,看的出来你们考察C语言的试题不是很难,我觉得这个应该不是大学里面的考试吧?
同时也可以看出你C语法不是很好,不客气的说,你应该什么也没学,最多学到变量声明循环附近
所以,你还是老老实实的把那本谭浩强老师的《C语言程序设计》好好翻翻吧。
不是你该怎么去做那种题,而是你基础根本没打好~~
1:B
2:A
3:A
4:A
5:A
6:B
7:B
8:B
9:A
10:D
如果有误,请通知我,谢谢
A和B都不能完成该功能,A中p定义的是一个指针,由于没有初始化指向的地址空间,所以不能直接用*p,B中由于x, y是值传递,传递的是实参变量的拷贝,所以这里交换的值不影响调用部分变量的值的改变。
#include cstdio
#include math.h
bool isprime(int a){
if(!a||a==1) return 0;
for(int i=2;i=sqrt(a);i++)
if(!(a%i)) return 0;
return 1;
}
main(){
for(int a;scanf("%d",a);)
if(isprime(a))
printf("yes\n");
else
printf("no\n");
}