版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..一、C語言概述練習題選擇1.一個C程序的執(zhí)行是從。A>本程序的main函數(shù)開始,到main函數(shù)結(jié)束B>本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C>本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束D>本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束2.以下敘述不正確的是。A>一個C源程序必須包含一個main函數(shù)B>一個C源程序可由一個或多個函數(shù)組成C>C程序的基本組成單位是函數(shù)D>在C程序中,注釋說明只能位于一條語句的后面3.以下敘述正確的是。A>在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤B>在C程序中,main函數(shù)必須位于程序的最前面C>C語言本身沒有輸入輸出語句D>C程序的每行中只能寫一條語句4.一個C語言程序是由。A>一個主程序和若干個子程序組成B>函數(shù)組成C>若干過程組成D>若干子程序組成5.計算機高級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是。A>C語言程序僅可以編譯執(zhí)行 B>C語言程序僅可以解釋執(zhí)行C>C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行 D>以上說法都不對6.以下敘述中錯誤的是。A>C語言的可執(zhí)行程序是由一系列機器指令構(gòu)成的 B>用C語言編寫的源程序不能直接在計算機上運行C>通過編譯得到的二進制目標程序需要連接才可以運行D>在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的.exe文件7.以下敘述正確的是。A>C語言程序是由過程和函數(shù)組成的B>C語言函數(shù)可以嵌套調(diào)用,例如:fun<fun<x>>C>C語言函數(shù)不可以單獨編譯D>C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在二、數(shù)據(jù)類型、運算符與表達式選擇.1.若x、i、j、k都是int型變量,則計算下面表達式后,x的值為x=<i=4,j=16,k=32>A>4 B>16 C>32 D>522.下列四組選項中,均不是C語言關(guān)鍵字的選項是。A>defineIFtypeB>getccharprintfC>includecasescanfD>whilegopow3.下列四組選項中,均是不合法的用戶標識符的選項是。A>WP_0doB>b-agotointC>floatla0_AD>-123abcTEMP4.下列四組選項中,均是合法轉(zhuǎn)義字符的選項是。A>‘\"’‘\\’‘\n’B>‘\’‘\017’‘\"’C>‘\018’‘\f’‘xab’D>‘\\0’‘\101’‘xlf’5.下面不正確的字符常量是。A>"c"B>‘\\’’ C>‘’ D>‘K’6.以下敘述不正確的是。A>在C程序中,逗號運算符的優(yōu)先級最低 B>在C程序中,MAX和max是兩個不同的變量C>若a和b類型相同,在計算了賦值表達式a=b后,b中的值將放入a中,而b中的值不變D>當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值7.以下敘述正確的是。A>在C程序中,每行只能寫一條語句B>若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)C>在C程序中,%是只能用于整數(shù)運算的運算符〔字符型也可以D>在C程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示8.已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句c2=‘A’+‘6’-‘3A>D B>68 C>不確定的值 D>C9.sizeof<float>是。A>一個雙精度型表達式B>一個整型表達式C>一種函數(shù)表達式D>一個不合法的表達式10.設(shè)C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為。A>0~255B>0~32767C>0~6553511.設(shè)有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為。A>floatB>charC>intD>double12.設(shè)以下變量均為int類型,則值不等于7的表達式是。A><x=y=6,x+y,x+1>B><x=y=6,x+y,y+1>C><x=6,x+1,y=6,x+y>D><y=6,y+1,x=y,x+1>13.下列變量定義中合法的是。A>short_a=015;B>doubleb=e2.5;C>longdo=0xfdaL;D>float2_and=1e-3;14.有以下程序#include<stdio.h>main<>{ intx=011; printf<"%d\n",++x>;}程序運行后的輸出結(jié)果是。A>12B>11C>10D>9填空1.若有以下定義,intm=5,y=2;則計算表達式y(tǒng)+=y-=m*=y后的y值是[1]。-162.在C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則int型數(shù)據(jù)的取值范圍為[2]。-32768~327673.若s是int型變量,且s=6,則下面表達式s%2+<s+1>%2的值為[3]。14.若a是int型變量,則下面表達式<a=4*5,a*2>,a+6的值為[4]。265.若x和a均是int型變量,則計算表達式〔1后的x值為[5],計算表達式〔2后的x值為[6]。412<1>x=<a=4,6*2><2>x=a=4,6*26.若a是int型變量,則計算下面表達式a=25/3%3后a的值為[7]。27.若x和n均是int型變量,且x和n的初值均為5,則計算表達式后x的值為[8],n的值為[9]。106x+=n++//若改為x+=++n則計算后X為,n為1168.若有定義:charc=‘\010’;則變量c中包含的字符個數(shù)為[10]。9.若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達式<x+y>%2+<int>a/<int>b的值為[11]。110.已知字母a的ASCII碼為十進制數(shù)97,且設(shè)ch為字符型變量,則表達式ch=‘a(chǎn)’+‘8’-‘3’三、簡單的C程序設(shè)計選擇1.putchar函數(shù)可以向終端輸出一個。A>整型變量表達式B>實型變量值C>字符串D>字符或字符型變量值2.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大于5,則輸出按方式B;如果字符串長度小于5,則輸出按方式C。A>從左起輸出該字符串,右補空格 B>按原字符長從左向右全部輸出C>右對齊輸出該字符串,左補空格 D>輸出錯誤信息3.閱讀以下程序,當輸入數(shù)據(jù)的形式為:25,13,10<CR>〔注:<CR>表示回車,則正確的輸出結(jié)果為。main<>{intx,y,z;scanf<"%d%d%d",&x,&y,&z>;printf<"x+y+z=%d\n",x+y+z>; }A>x+y+z=48B>x+y+z=35C>x+z=35 D>不確定值4.根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應(yīng)該為。main<>{charch1,ch2,ch3;輸入語句printf<"%c%%c",ch1,ch2,ch3>; }輸出形式:ABC輸入形式:ABCA>scanf<"%c%c%c",&ch1,&ch2,&ch3>;B>scanf<"%c,%c,%c",&ch1,&ch2,&ch3>;C>scanf<"%c%c%c",&ch1,&ch2,&ch3>;D>scanf<"%c%c",&ch1,&ch2,&ch3>;5.已知ch是字符型變量,下面不正確的賦值語句是。A>ch=‘a(chǎn)’+’b’;B>ch=‘\0’;C>ch=‘7’+‘6.以下關(guān)于結(jié)構(gòu)化程序設(shè)計的敘述中正確的是。 A>一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成 B>結(jié)構(gòu)化程序使用goto語句會很便捷C>在C語言中,程序的模塊化是利用函數(shù)實現(xiàn)的D>由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題7.有以下程序#include<stdio.h>main<>{inta1,a2;charc1,c2;scanf<"%d%c%d%c",&a1,&c1,&a2,&c2>;printf<"%d,%c,%d,%c",a1,c1,a2,c2>;}若想通過鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是〔以下_代表空格,<CR>代表回車A>12a34b<CR>B>12_a_34_b<CR>C>12,a,34,b<CR>D>12_a34_b<CR>填空1.以下的輸出結(jié)果是[1]。c:dec=120,oct=170,hex=78,ASCII=xmain<>{charc=‘x’;printf<"c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c>;}2.以下的輸出結(jié)果是[2]。main<>{intx=1,y=2;printf<"x=%dy=%d*sum*=%d\n",x,y,x+y>;printf<"10Squaredis:%d\n",10*10>;}x=1y=2*sum*=310Squaredis:1003.假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a、b中的值進行交換。請?zhí)羁?。a+=[3];b=a-[4];a-=[5];bbb4.若x為int型變量,則執(zhí)行以下語句x=7;x+=x-=x+x;后的x值為[6]。-145.有一輸入語句scanf<"%d",k>;則不能使float類型變量k得到正確數(shù)值的原因是[7]和[8]。格式控制符應(yīng)為%f;變量k前缺少&四、邏輯運算與判斷選取控制選擇1.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型。A>只能是0和1B>只能是0或非0正數(shù)C>只能是整型或字符型數(shù)據(jù)D>可以是任何類型的數(shù)據(jù)2.判斷char型變量ch是否為大寫字母的正確表達式是。A>‘A’<=ch<=‘Z’B><ch>=‘A’>&<ch<=‘Z’>C><ch>=‘A’>&&<ch<=‘Z’>D><‘A’<=ch>AND<‘Z’>=ch>3.若希望當A的值為奇數(shù)時,表達式的值為"真",A的值為偶數(shù)時,表達式的值為"假"。則以下不能滿足要求的表達式是。A>A%2==1B>!<A%2==0>C>!<A%2> D>A%24.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行<m=a>b>&&<n=c>d>后n的值為。A>1B>2C5.以下程序的運行結(jié)果是。main<>{inta,b,d=241;a=d/100%9;b=<-1>&&<-1>;printf<"%d,%d",a,b>;}A>6,1B>2,1C6.已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是。if<x>y>z=x;x=y;y=z;A>x=10,y=20,z=30 B>x=20,y=30,z=30C>x=20,y=30,z=10D>x=20,y=30,z=207.以下程序的運行結(jié)果是。main<>{intm=5;if<m++>5>printf<"%d\n",m>;else;printf<"%d\n",m-->;}A>4B>5C>68.若運行時給變量x輸入12,則以下程序的運行結(jié)果是。main<>{intx,y;scanf<"%d",&x>;y=x>12?x+10:x-12;printf<"%d\n",y>;}A>4B>3C>2 D>09.if語句的基本形式是:if<表達式>語句,以下關(guān)于"表達式"值的敘述中正確的是。A>必須是邏輯值B>必須是整數(shù)值C>必須是正數(shù)D>可以是任意合法的數(shù)值10.有以下程序#include<stdio.h>main<>{inta=1,b=0;if<!a>b++;elseif<a==0>if<a>b+=2;elseb+=3;printf<"%d\n",b>;}程序運行后的輸出結(jié)果是。A>0B>1C>2D>311.有以下程序#include<stdio.h>main<>{intc=0,k;for<k=1;k<3;k++>switch<k>{default:c+=k;case2:c++;break;case4:c+=2;break;}printf<"%d\n",c>;}程序運行后的輸出結(jié)果是。A>3B>5C>7D>9五、循環(huán)控制選擇1.設(shè)有程序段intk=10;while<k=0>k=k-1;這下面描述中正確的是_________.a>while循環(huán)執(zhí)行10次b>循環(huán)是無限循環(huán)c>循環(huán)體語句一次也不執(zhí)行d>循環(huán)體語句執(zhí)行一次2.語句while<!E>;中的表達式!E等價于________.a>E==0b>E!=1c>E!=03.下面程序段的運行結(jié)果是___c__.循環(huán)次數(shù)為__b___.intn=0;while<n++<=2>;printf<"%d",n>;a>2b>3c>4d>有語法錯//若改為while<++n<=2>;printf<"%d",n>;結(jié)果又如何?4.下面程序的運行結(jié)果是___.#include<stdio.h>main<>{intnum=0;while<num<=2>{num++;printf<"%d\n",num>;}}a>1b>1c>12223345.以下程序段________.x=-1;do{x=x*x;}while<!x>;a>是死循環(huán)b>循環(huán)執(zhí)行二次c>循環(huán)執(zhí)行一次d>有語法錯誤6.若有如下語句intx=3;do{printf<"%d\n",x-=2>;}while<!<--x>>;則上面程序段______.a>輸出的是1b>輸出的是1和-2c>輸出的是3和0d>7.下面程序的運行結(jié)果是______.#include<stdio.h>main<>{inty=10;do{y--;}while<--y>;printf<"%d\n",y-->;}a>-1b>1c>8d>08.若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是_____.for<i=2;i==0;>printf<"%d",i-->;a>無限次b>0次c>1次d>2次9.執(zhí)行語句for<i=1;i++<4;>;后變量i的值是______.a>3b>4c>5d>10.以下正確的描述是_______.a>continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行b>只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句c>在循環(huán)體內(nèi)使用break語句或continue語句的作用相同d>從多層循環(huán)嵌套中退出時,只能使用goto語句11.有以下程序main<>{ charb,c;inti;b='a';c='A'; for<i=0;i<6;i++>{ if<i%2>putchar<i+b>; elseputchar<i+c>; }printf<"\n">;}程序運行后的輸出結(jié)果是______.A>ABCDEFB>AbCdEfC>aBcDeFD>abcdef〔二、填空題1.下面程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁?。intn=0,c;c=getchar<>;while<_c!=’\n’___>{if<_c>=’0’&&c<=’9c=getchar<>;}2.下面程序的功能是用"輾轉(zhuǎn)相除法"求兩個正整數(shù)的最大公約數(shù)。請?zhí)羁铡?include<stdio.h>main<>{intr,m,n;scanf<"%d%d",&m,&n>;if<m<n>_{r=m;m=n;n=r;}_r=m%n;while<r>{m=n;n=r;r=__m%n____;}printf<"%d\n",n>;}3.下面程序的運行結(jié)果是_____s=254_____.#include<stdio.h>main<>{inta,s,n,count;a=2;s=0;n=1;count=1;while<count<=7>{n=n*a;s=s+n;++count;}printf<"s=%d",s>;}4.下面程序段的運行結(jié)果是__a=-5_____.i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while<i<=10>;printf<"a=%d",a>;5.下面程序段的運行結(jié)果是___8_____.i=1;s=3;do{s+=i++;if<s%7==0>continue;else++i;}while<s<15>;printf<"%d",i>;六、數(shù)組1.以下為一維整型數(shù)組a的正確說明是_________.a>inta<10>;b>intn=10,a[n];c>intn;d>#defineSIZE10scanf<"%d",&n>;inta[SIZE];inta[n];2.以下對二維數(shù)組a的正確說明是________.a>inta[3][];b>floata<3,4>;c>doublea[1][4]d>floata<3><4>;3.若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中位置的公式為_.<假設(shè)a[0][0]位于數(shù)組的第一個位置上。>a>i*m+jb>j*m+ic>i*m+j-1d>i*m+j+14.若二維數(shù)組a有m列,則在a[i][j]前的元素個數(shù)為________.a>j*m+ib>i*m+jc>i*m+j-1d>i*m+j+15.若有以下程序段:……………inta[]={4,0,2,3,1},i,j,t;for<i=1;i<5;i++>{t=a[i];j=i-1;while<j>=0&&t>a[j]>{a[j+1]=a[j];j--;}a[j+1]=t;}......則該程序段的功能是_________.a>對數(shù)組a進行插入排序<升序>b>對數(shù)組a進行插入排序<降序>c>對數(shù)組a進行選擇排序<升序>d>對數(shù)組a進行選擇排序<降序>6.有兩個字符數(shù)組a、b,則以下正確的輸入語句是_______.a>gets<a,b>;b>scanf<"%s%s",a,b>;c>scanf<"%s%s",&a,&b>;d>gets<"a">,gets<"b">;7.下面程序段的運行結(jié)果是_________.chara[7]="abcdef";charb[4]="ABC";strcpy<a,b>;printf<"%c",a[5]>;a>空格b>\0c>ed>f8.判斷字符串s1是否大于字符串s2,應(yīng)當使用_______.a>if<s1>s2>b>if<strcmp<s1,s2>>c>if<strcmp<s2,s1>>0>d>if<strcmp<s1,s2>>0>9.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計其中有多少個單詞,單詞之間用空格分隔,請選擇填空。#include<stdio.h>main<>{chars[80],c1,c2='';inti=0,num=0;gets<s>;while<s[i]!='\0'>{c1=s[i];if<i==0>c2='';elsec2=s[i-1];if<___>num++;i++;}printf<"Thereare%dwords.\n",num>;}a>c1==''&&c2==''b>c1!=''&&c2==''c>c1==''&&c2!=''d>c1!=''&&c2!=''10.下面程序的運行結(jié)果是_______.#include<stdio.h>main<>{charstr[]="SSSWLIA",c;intk;for<k=2;<c=str[k]>!='\0';k++>{switch<c>{case'I':++k;break;case'L':continue;default:putchar<c>;continue;}putchar<'*'>;}}a>SSW*b>SW*c>SW*Ad>SW填空1.若有定義:doublex[3][5];則x數(shù)組中行下標的下限為____0____,列下標的上限為_____4_____.2.下面程序以每行4個數(shù)據(jù)的形式輸出a數(shù)組,請?zhí)羁铡?defineN20main<>{inta[N],i;for<i=0;i<N;i++>scanf<"%d",_&a[i]__>;for<i=0;i<N;i++>{if<____i%4==0_____>_printf<"\n">;___printf<"%3d",a[i]>;}printf<"\n">;}3.下面程序可求出矩陣a的主對角線上的元素之和,請?zhí)羁铡ain<>{inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for<i=0;i<3;i++>for<j=0;j<3;j++>if<_i==j__>sum=sum+_a[i][i]_;printf<"sum=%d\n",sum>;}4.當從鍵盤輸入18并回車后,下面程序的運行結(jié)果是__10010_____.main<>{intx,y,i,a[8],j,u,v;scanf<"%d",&x>;y=x;i=0;do{u=y/2;a[i]=y%2;i++;y=u;}while<y>=1>;for<j=i-1;j>=0;j-->printf<"%d",a[j]>;}5.下面程序用插入法對數(shù)組a進行降序排序。請?zhí)羁?。main<>{inta[5]={4,7,2,5,1};inti,j,m;for<i=1;i<5;i++>{m=a[i];j=__i-1___;while<j>=0&&m>a[j]>{_a[j+1]=a[j]__;j--;}_a[j+1]___=m;}for<i=0;i<5;i++>printf<"%d",a[i]>;printf<"\n">;}6.下面程序的功能是在三個字符串中找出最小的,請?zhí)羁铡?include<stdio.h>#include<string.h>main<>{chars[20],str[3][20];inti;for<i=0;i<3;i++>gets<str[i]>;strcpy<s,__str[0]__>;if<strcmp<s,str[1]><0>strcpy<s,str[1]>;if<strcmp<str[2],s><0>strcpy<s,str[2]>;printf<"%s\n",___s___>;}7.下面程序的運行結(jié)果是_#&*&%__.#include<stdio.h>main<>{chars[]="ABCCDA";intk;charc;for<k=1;<c=s[k]>!='\0';k++>{switch<c>{case'A':putchar<'%'>;continue;case'B':++k;break;default:putchar<'*'>;case'C':putchar<'&'>;continue;}putchar<'#'>;}}七、函數(shù)選擇1.以下正確的說法是_________.建立函數(shù)的目的之一是a>提高程序的執(zhí)行效率b>提高程序的可讀性c>減少程序的篇幅d>減少程序文件所占內(nèi)存2.以下正確的函數(shù)定義形式是________.a>doublefun<intx,inty>b>doublefun<intx;inty>c>doublefun<intx,inty>;d>doublefun<intx,y>;3.C語言規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式為______.A>地址傳遞B單向值傳遞C由實參傳給形參,再由形參傳回給實參D由用戶指定傳遞方式4.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是______.a>floatb>intc>longd>double5.已有以下數(shù)組定義和f函數(shù)調(diào)用語句,則在f函數(shù)的說明中,對形參數(shù)組array的錯誤定義方式為_______.inta[3][4];f<a>;a>f<intarray[][6]>b>f<intarray[3][]>c>f<intarray[][4]>d>f<intarray[2][5]>6.以下程序的正確運行結(jié)果是_________.#include<stdio.h>voidnum<>{externintx,y;inta=15,b=10;x=a-b;y=a+b;}intx,y;main<>{inta=7,b=5;x=a+b;y=a-b;num<>;printf<"%d,%d\n",x,y>;}a>12,2b>不確定c>5,25d>1,12有以下程序:#include<stdio.h>intf<>{ staticintx=1;x+=1; returnx;}main<>{inti,s=1; for<i=1;i<=5;i++>s+=fun<>; printf<"%d\n",s>;} 程序運行后的輸出結(jié)果是____ A>11B>21 C>6 D>120填空1.以下程序的運行結(jié)果是_____maxis2#include<stdio.h>intmax<int,int>;main<>{inta=1,b=2,c;c=max<a,b>;printf<"maxis%d\n",c>;}intmax<intx,inty>{intz;z=<x>y>?x:y;return<z>;}2.函數(shù)gongyu的作用是求整數(shù)num1和num2的最大公約數(shù),并返回該值。請?zhí)羁?。gongyu<intnum1,intnum2>{inttemp,a,b;if<num1〔__<__num2>{temp=num1;num1=num2;num2=temp;}a=num1;b=num2;while<_!b__>{temp=a%b;a=b;b=temp;}return<a>;}3.以下程序的運行結(jié)果是__A+B=9___.#include<stdio.h>inta=5;intb=7;intplus<int,int>;voidmain<>{inta=4,b=5,c;c=plus<a,b>;printf<"A+B=%d\n",c>;}intplus<intx,inty>{intz;z=x+y;return<z>;}4.以下程序的運行結(jié)果是_______.x=1y=1x=1y=1x=1y=2x=1y=3{incx<>;incy<>;incx<>;incy<>;incx<>;incy<>;}incx<>{intx=0;printf<"x=%d\t",++x>;}incy<>{staticinty=0;printf<"\ny=%d\n",++y>;}八、編譯預(yù)處理選擇1.以下敘述中正確的是________.a>在程序的一行上可以出現(xiàn)多個有效的預(yù)處理命令行b>使用帶參的宏時,參數(shù)的類型應(yīng)與宏定義時的一致c>宏替換不占用運行時間,只占用編譯時間d>在以下定義中CR是稱為"宏名"的標識符#defineCR0452.以下程序的運行結(jié)果是________.#defineMIN<x,y><x><<y>?<x>:<y>main<>{inti=10,j=15,k;k=10*MIN<i,j>;printf<"%d\n",k>;}a>10b>15c>1003.若有宏定義如下:#defineX5#defineYX+1#defineZY*X/2則執(zhí)行以下printf語句后,輸出結(jié)果是_______.inta;a=Y;printf<"%d\n",Z>;printf<"%d\n",--a>;a>7b>12c>12d>766554.請讀程序:#include<stdio.h>#defineMUL<x,y><x>*ymain<>{inta=3,b=4,c;c=MUL<a++,b++>;printf<"%d\n",c>;}上面程序的輸出結(jié)果是__________.a>12b>15c>20d>165.有以下程序#include<stdio.h>#definef<x>x*x*xmain<>{inta=3,s,t;s=f<a+1>;t=f<<a+1>>;printf<"%d,%d\n",s,t>;}程序運行后的輸出結(jié)果是______.A>10,64B>10,10C>64,10D>64,64九、指針一、選擇題1.變量的指針,其含義是指該變量的________.a>值b>地址c>名d>一個標志2.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是_____.a>a,point,*&ab>&*a,&a,*pointc>*&point,*point,&ad>&a,&*point,point3.若有說明;int*p,m=5,n;以下正確的程序段的是________.a>p=&n;b>p=&n;c>scanf<"%d",&n>;d>p=&n;scanf<"%d",&p>;scanf<"%d",*p>;*p=n;*p=m;4.下面程序段的運行結(jié)果是________.char*s="abcde";s+=2;printf<"%s",s>;a>cdeb>字符'c'c>字符'c'的地址d>無確定的輸出結(jié)果5.設(shè)p1和p2是指向同一個字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語句是_______.a>c=*p1+*p2;b>p2=cc>p1=p2d>c=*p1*<*p2>;6.以下正確的程序段是________.a>charstr[20];b>char*p;c>charstr[20];d>charstr[20],*p=str;scanf<"%s",&str>;scanf<"%s",p>;scanf<"%s",&str[2]>;scanf<"%s",p[2]>;7.若有說明語句chara[]="Itismine";char*p="Itismine";則以下不正確的敘述是________.a>a+1表示的是字符t的地址b>p指向另外的字符串時,字符串的長度不受限制c>p變量中存放的地址值可以改變d>a中只能存放10個字符8.下面程序的運行結(jié)果是_______.#include<stdio.h>#include<string.h>main<>{char*s1="AbDeG";char*s2="AbdEg";s1+=2;s2+=2;printf<"%d\n",strcmp<s1,s2>>;}a>正數(shù)b>負數(shù)c>零d>不確定的值9.下面程序的運行結(jié)果是_______.#include<stdio.h>#include<string.h>fun<char*w,intn>{chart,*s1,*s2;s1=w;s2=w+n-1;while<s1<s2>{t=*s1++;*s1=*s2--;*s2=t;}}main<>{char*p;p="1234567";fun<p,strlen<p>>;puts<p>;}a>7654321b>1714171c>1711717d>717717110.若有以下定義,則對a數(shù)組元素的正確引用是_________.inta[5],*p=a;a>*&a[5]b>a+2c>*<p+5>d>*<a+2>11.若有定義:inta[2][3],則對a數(shù)組的第i行j列元素地址的正確引用為______.a>*<a[i]+j>b><a+i>c>*<a+j>d>a[i]+j12.若有以下定義,則p+5表示_______.inta[10],*p=a;a>元素a[5]的地址b>元素a[5]的值c>元素a[6]的地址d>元素a[6]的值二、填空題1.以下程序的功能是:通過指針操作,找出三個整數(shù)中的最小值并輸出。請?zhí)羁铡?include"stdio.h"main<>{int*a,*b,*c,num,x,y,z;a=&x;b=&y;c=&z;printf<"輸入3個整數(shù):">;scanf<"%d%d%d",a,b,c>;printf<"%d,%d,%d\n",*a,*b,*c>;num=*a;if<*a>*b>__num=*b___;if<num>*c>___num=*c__;printf<"輸出最小整數(shù):%d\n",num>;}2.下面程序段的運行結(jié)果是__hELLO___.chars[80],*sp="HELLO!";sp=strcpy<s,sp>;s[0]='h';puts<sp>;3.下面程序段的運行結(jié)果是__ef___.charstr[]="abc\0def\0ghi",*p=str;printf<"%s",p+5>;4.下面程序的功能是將兩個字符串s1和s2連接起來。請?zhí)羁铡?include<stdio.h>main<>{chars1[80],s2[80];gets<s1>;gets<s2>;conj<s1,s2>;puts<s1>;}conj<char*p1,char*p2>{char*p=p1;while<*p1>_p1++__;while<*p2>{*p1=_*p2___;p1++;p2++;}*p1='\0';
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工合同擔保書
- 物業(yè)使用權(quán)轉(zhuǎn)讓協(xié)議書格式
- 在線輔導(dǎo)合同模板
- 學生與學校入學合同協(xié)議書
- 服務(wù)外包技術(shù)支持框架
- 設(shè)計合同解除合同解除合同案例分析
- 軟件開發(fā)及外包服務(wù)
- 二手房買賣合同的權(quán)益保護指南
- 員工外出安全管理規(guī)定
- 房屋買賣合同的簽訂步驟與方法
- (高清版)WST 408-2024 定量檢驗程序分析性能驗證指南
- 人工智能原理與方法智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱工程大學
- 流行病學-廈門大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 全屋定制合同范本下載
- 房地產(chǎn)開發(fā)成本明細科目一覽表
- 2021-2022學年浙江省杭州市錢塘區(qū)人教版六年級上冊期末測試數(shù)學試卷【含答案】
- 電熔焊作業(yè)指導(dǎo)書
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- DB11∕T 2035-2022 供暖民用建筑室溫無線采集系統(tǒng)技術(shù)要求
- 2024年天津生態(tài)城投資開發(fā)有限公司招聘筆試參考題庫附帶答案詳解
- 《美的冰箱介紹》課件
評論
0/150
提交評論