课堂练习参考答案(苏大版1-13章)

  • 格式:doc
  • 大小:131.50 KB
  • 文档页数:14

第2章 数据类型、运算符和表达式 一、选择题 题号 1 2 3 4 5 6 7 8 9 10 11 12

答案 B A B A C D D A B D D A

二、填空题 13、 int(a) 或 (int)a 14、 0 15、 1 16、 4 或4.0 17、 105 和 70 18、 60 19、 10、8、3 20、 5、7、2.9 21、 7、7、15、1

第4章 C++流程控制语句 一、选择题 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14

答案 C D B C A A D C D A C D B D

二、填空题 1、 第一空:switch ,第二空:continue 2、 10 3、 第一空,第二空:退出程序运行 4、 第一空:A ,第二空:e 5、 第一行:11 13 17 19 23 , 第二行:29 31 37 6、 第一行:2 , 第二行:0 0 7、 第一行:1 , 第二行:3 8、 第一行:10=1*2*5 , 第二行:20=1*2*2*5 9、 第一行:i=40 , 第二行:s=108 10、 第一空:i%5==0, 第二空:n+m ,第三空:n-m 11、 第一空:i<10, 第二空:i%5==0 ,第三空:x1 12、 第一空:i<=100, 第二空:1.0/i*s ,第三空:s*(-1) 13、 第一空:n或 n!=0, 第二空:n/=10 14、 第一空:n/10%10 或 n%100/10 等, 第二空:a==b||a==c||b==c

第5章 函数和编译预处理 一、选择题 题号 1 2 3 4 5 6 7 8 9 10 11 12 13

答案 A C C B A C D A B D B C C

二、填空题 1 、 inline 2 、 int 3 、 14 fun=29 4 、 作用域 或 :: 5 、 0 6 、 条件编译 7 、 自动类型 或 auto 8 、 f(); 9 、 第一行:-1 12 14 10 第二行:7 14 33 20 10、 第一行:521 第二行:0234 11、 第一空:return n*f(n-1) 第二空:f(m)/(f(r)*f(m-r)) 12、 第一行:4,4,6 第二行:15,4,12 第三行:10,4,6 第6章 数组 一、选择题 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14

答案 D D C C C B D C B D A D C B

二、填空题 1 、 cin.getline(str,20) 2 、 8 3 、 第一空: ’\0’ 第二空: 0 4 、 第一空: 4 第二空: 100 5 、 第一行:s=56 第二行:count=7 6 、 第一行: 9 第三行: 6.4 7 、 第二行:1 1 第四行:1 3 3 1 8 、 9 7 6 5 4 3 2 9 、 第一行: 3 0 2 第二行: 5 7 3 第三行: 4 5 1 第四行: 7 6 9 10、 第一空: n%10 第二空: a[j]!=a[i-j-1] 第三空: b 或 b==1等 11、 第一空: str[i]等 第二空: break 第三空: count(str,substr) 三、程序设计题 // 1 删除一维数组中的重复元素 #include void main(void)//间接选择排序法 { int a[10]={7,3,7,1,9,7,8,3,3,1},i,j,k,n=10; cout<<"原数组为:\n"; for(i=0;icout

// 2 交换二维数组中的最大和最小元素 #include void main(void) { int a[3][4],i,j,max,min,rmax,cmax,rmin,cmin,t; for(i=0;i<3;i++) //输入二维数组 for(j=0;j<4;j++) cin>>a[i][j]; for(i=0;i<3;i++){ //输出输入的数组(调换前的数组) for(j=0;j<4;j++) coutmax)max=a[i][j],rmax=i,cmax=j; if(a[i][j]} cout<<"最大元素:"<素 //cout<<"最大元素:"<最大元素和最小元素 cout<<"最大元素:"<和最小元素及其位置 <<"\n最小元素:"

// 3 统计英文单词个数 #include #include int fun(char str[]) { int count=0,i=0,j=strlen(str); while(i{ while(!(str[i]>='A'&& str[i]<='Z'||str[i]>='a'&&str[i]<='z')&&ii++; if(iwhile((str[i]>='A'&& str[i]<='Z'||str[i]>='a'&&str[i]<='z')&&ii++; } return count; } void main(void) { char p[200]; cin.getline(p,200);//" Sandwich was an Englishman. He lived in the 18th century(世纪)."; int num=fun(p); cout<<"段落:\n"<}

第8章 指针和引用 一、选择题 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14

答案 B C A C B B B A A B A A C C

二、填空题 1 、 地址 2 、 void (*f)(int,int);等 3 、 引用 4 、 3 5 、 p->next=q等 6 、 p->next==head 7 、 pup[2].age 、(p+2)->age 、(*(p+2)).age 8 、 101 M 9 、 0 7 14 21 28 10、 第一行: 江科大 第二行: C 11、 第一行: 13 第二行: 1 12、 第一空: p113、 第一空: n%10 第二空: p114、 第一空: h=p 第二空: p2=p2->next 第三空: p->next=p2 第四空: h 三、程序设计题 // 1 删除母串中的所有子串 #include #include int withstr(char *s1,char *sub) { while(*sub&&*s1++==*sub++); return !(*sub); } char *delsub(char *s1,char *sub)