宝马图标:谁有C语言习题集(是那种针对每学完一节的课后练习题)
问题补充:我要的是C语言习题,不是数据库习题。
要确认可以下载的
C语言习题
一、单项选择题
1.正确的自定义标识符是 ( )
A.a=2 B.a+b C.name D.default
2.错误的转义字符是 ( )
A.'\091' B.'\\' C.'\0' D.'\''
3.设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--
后,a,b和c的值分别是 ( )
A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3
4.在C语言中,错误的常数是 ( )
A. 1E+0.0 B. 5. C. 0xaf D. 0L
5.下面运算符优先级最高的是 ( )
A.'\0';j+=2)
s=10*s+p[j][k]-'0';
printf(”%d\n”,s);
}
运行结果:
3.main( )
{ int j;
for(j=1;j=2;j--)
switch(j)
{case 0: printf("%4s","ABC");
case 1: printf("%4s","DEF");
case 2: printf("%4s","GHI");break
case 3: printf("%4s","JKL");
default: printf("%4s","MNO");
}
printf("\n");
}
运行结果:
7.main()
{int j,a[6]={1,2}};
for(j=3;jc&&b+c>a&&a+c>b)
{
if(________________________________)printf("DY");
if(________________________________)printf("DB");
a2=a*a;b2=b*b;c2=c*c;
if(________________________________)printf("ZJ");
printf("\n");
}
else printf("NO\n");
}
2.输出下列图形。
1 2 3 4 5 6 7 8 9 main()
2 3 4 5 6 7 8 9 { int I,J;
3 4 5 6 7 8 9 for(I=1;I<=_________;I++)
4 5 6 7 8 9 for(J=_________;J<=9;J++)
5 6 7 8 9 printf("%2d",J);
6 7 8 9 printf("\n");}
7 8 9
8 9
9
五、程序设计题
1.判断输入整数x的正负性和奇偶性。
2.从键盘输入10个整数,求出其中的最大值。
3.输入一行字符,统计其中的数字、字母、空格
和其它字符出现的次数。
4.输入十个整数,计算出平均值(aver),找出其中最
大者(max)和最小者(min)并将三者输出。
5.将十个实型数输入数组(float n[10];)逆序存放后再
输出。
数组题目:
c语言习题--数组
1. 给出以下定义:
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
则正确的叙述为
A)数组X和数组Y等价 B)数组x和数组Y的长度相同
C)数组X的长度大于数组Y的长度 D)数组X的长度小于数组Y的长度
2. 若有下面的程序片段:
int a[12]={0}, *p[3], **pp, i;
for(i=0; i<3; i++)
p[i]=&a[i*4];
pp=p;
则对数组元素的错误引用是
A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)
3. 设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A) *((*prt+1) [2]) B) *(*(p+5))
C) (*prt+1)+2 D) *(*(a+1)+2)
4. 不能把字符串:Hello!赋给数组b的语句是
A) char b[10]={'H','e','l','l','o','!'};
B) char b[10];b="Hello!";
C) char b[10];strcpy(b,"Hello!");
D) char b[10]="Hello!";
5. 若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是
A)a[g-c] B)a[4]
C)a['d'-'c'] D)a['d'-c]
6. 若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是
A) *p+6 B) *(p+6) C) *p+=5 D) p+5
7. 若有以下说明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
则数值为4的表达式是
A) *w[1]+1 B) p++,*(p+1)
C) w[2][2] D) p[1][1]
8. 若有以下的说明和语句:
main()
{int t[3][2], *pt[3],k;
fpr(k=o; k<3;k++)pt[k]=t[k];
}
则以一选项中能正确表示t数组元素地址的表达式是
A) &t[3][2] B) *pt[0]
C) *(pt+1) D) &pt[2]
9. 以下程序的输出结果是
main( )
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2)printf("%d ",p[i]);
}
A) 5 2 B) 5 1 C) 5 3 D) 9 7
10. 若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是
int t[3][3], *pt([3], k;
for (k=0;k<3;k++) pt[k]=&t[k][0];
A) 5 2 B) 5 1 C) 5 3 D) 9 7
11. 执行下面的程序段后,变量k中的值为
int k=3, s[2];
s[0]=k; k=s[1]*10;
A) 不定值 B) 33 C) 30 D) 10
12. 若已定义:
int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;
其中 0≤i≤9, 则对a数组元素不正确的引用上
A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
13. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为
A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节
http://www.gz-accp.com/news/newsshow.asp?id=837
http://www.csdn.net/
http://www.cyybase.com/print.asp?id=2610
http://www.cyybase.com/ShowPost.asp?id=2610
http://www.baidu.com/s?ie=gb2312&bs=C%D3%EF%D1%D4%CF%B0%CC%E2&sr=&z=&cl=3&f=8&wd=C%D3%EF%D1%D4%CF%B0%CC%E2%2B%CA%FD%D7%E9&ct=0