全部知识点
有如下定义语句:int a,b=5,*p=&a;则能完成a=b赋值功能的语句是________。
有函数原型为void f(int,int *);主函数中有变量定义:int a,*p=&a,b[10];则下列几种调用错误的是____________。
若有宏定义如下:
#define M 5 #define N M+1 #define L N*M/2
则执行语句printf("%d,%d",L,M);后,输出结果是____________。
若有以下结构体定义,选择___________赋值是正确的。
struct ST
{
int x,y;
}vs;有定义:char a[80]="ABC",b[80]="PLAY";则正确的输出语句是________。
设有语句int a[3][2],下面_________不能表示元素a[i][j]。
下面各程序段能够正确实现两个字符串p、q交换的是____________。
若要用fopen函数创建一个新的二进制文件,该文件要求既能读也能写,则文件打开方式的字符串应是_________。
设int *ptr,x,array[5]={5,4,3,2,1};ptr=array;能使x的值为3的语句是_________。
下面4个选项中,是不合法的用户标识符的选项是( )。
下面四个选项中,是不合法的用户标识符的选项是( )。
以下C程序运行结果是( )。(注:□表示空格)
#include<stdio.h>
int main()
{
long y=23456;
printf("y=%3x\n",y);
printf("y=%8x\n",y);
printf("y=%#8x\n",y);
return 0;
}已有如下定义和输入语句,若要求a1,a2,a3,c1,c2的值分别为10、20、30、A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2;
char c1,c2;
scanf("%d%c%d",&a1,&c1,&a2,&c2);以下描述错误的是( )。
一个C程序的执行是从( )。
以下for循环的执行次数是( )。
for(x=0,y=0;(y=123)&&(x<4);x++);
C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是( )。
下面程序段中。for循环执行的次数是( )。
char *s="\ta\018be";
for(;*s!=\0;s++)
printf("*");以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。
int main()
{
int *p,*q,a,b;
p=&a;
printf("intput a:");
scanf("%d",*p);
}以下程序可选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及个数,请选择( )。
#include<stdio.h>
int sub(int k,int n)
{
int a1,a2;
a2=k/10;
a1=k-________;
if(k%3==0&&a2==5)||(k%3==0&&a1==5)
{
printf("%d",k);
n++;
return n;
}
else return -1;
}
int main()
{
int i,k,n,m;
for(k=10;k<=99;k++)
{
m=sub(k,n);
if(m!=-1)
n=m;
}
printf("\nn=%d",n);
return 0;
}